X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FGameTick.cpp;h=df0bc200ee2a9d762ea0bd38adc287538ebb7eb7;hb=4f4771bb67958d2e9180ba24d422141b9069e363;hp=9afacced235878340de42e6afb33737a163ae2db;hpb=f38eb24f446b94d592d97b24b315bb44bed7b12c;p=lugaru.git diff --git a/Source/GameTick.cpp b/Source/GameTick.cpp index 9afacce..df0bc20 100644 --- a/Source/GameTick.cpp +++ b/Source/GameTick.cpp @@ -827,7 +827,7 @@ void Game::Loadlevel(const std::string& name) hostiletime = 0; won = 0; - animation[bounceidleanim].Load((char *)"Idle", middleheight, neutral); + animation[bounceidleanim].Load("Idle", middleheight, neutral); Dialog::dialogs.clear(); @@ -1100,43 +1100,13 @@ void Game::Loadlevel(const std::string& name) Person::players[i]->bled = 0; Person::players[i]->onfire = 0; Person::players[i]->scale = .2; + if (mapvers < 9) { + Person::players[i]->creature = rabbittype; + } } Person::players[i]->skeleton.free = 0; - Person::players[i]->skeleton.id = i; - if (i == 0 && mapvers < 9) { - Person::players[i]->creature = rabbittype; - } - if (Person::players[i]->creature != wolftype) { - Person::players[i]->skeleton.Load( - (char *)"Skeleton/BasicFigure", - (char *)"Skeleton/BasicFigureLow", - (char *)"Skeleton/RabbitBelt", - (char *)"Models/Body.solid", - (char *)"Models/Body2.solid", - (char *)"Models/Body3.solid", - (char *)"Models/Body4.solid", - (char *)"Models/Body5.solid", - (char *)"Models/Body6.solid", - (char *)"Models/Body7.solid", - (char *)"Models/BodyLow.solid", - (char *)"Models/Belt.solid", 0); - } else { - Person::players[i]->skeleton.Load( - (char *)"Skeleton/BasicFigureWolf", - (char *)"Skeleton/BasicFigureWolfLow", - (char *)"Skeleton/RabbitBelt", - (char *)"Models/Wolf.solid", - (char *)"Models/Wolf2.solid", - (char *)"Models/Wolf3.solid", - (char *)"Models/Wolf4.solid", - (char *)"Models/Wolf5.solid", - (char *)"Models/Wolf6.solid", - (char *)"Models/Wolf7.solid", - (char *)"Models/WolfLow.solid", - (char *)"Models/Belt.solid", 0); - } - Person::players[i]->skeleton.drawmodel.textureptr.load(creatureskin[Person::players[i]->creature][Person::players[i]->whichskin], 1, &Person::players[i]->skeleton.skinText[0], &Person::players[i]->skeleton.skinsize); + Person::players[i]->skeletonLoad(); Person::players[i]->addClothes(); @@ -1189,7 +1159,7 @@ void Game::Loadlevel(const std::string& name) Person::players[i]->proportionlegs.z = 0; } - Person::players[i]->tempanimation.Load((char *)"Tempanim", 0, 0); + Person::players[i]->tempanimation.Load("Tempanim", 0, 0); if (i == 0) { Person::players[i]->headmorphness = 0; @@ -1904,11 +1874,9 @@ void doDebugKeys() if (Person::players[closest]->creature == rabbittype) { - Person::players[closest]->skeleton.id = closest; - Person::players[closest]->skeleton.Load((char *)"Skeleton/BasicFigureWolf", (char *)"Skeleton/BasicFigureWolfLow", (char *)"Skeleton/RabbitBelt", (char *)"Models/Wolf.solid", (char *)"Models/Wolf2.solid", (char *)"Models/Wolf3.solid", (char *)"Models/Wolf4.solid", (char *)"Models/Wolf5.solid", (char *)"Models/Wolf6.solid", (char *)"Models/Wolf7.solid", (char *)"Models/WolfLow.solid", (char *)"Models/Belt.solid", 0); - Person::players[closest]->skeleton.drawmodel.textureptr.load("Textures/Wolf.jpg", 1, &Person::players[closest]->skeleton.skinText[0], &Person::players[closest]->skeleton.skinsize); - Person::players[closest]->whichskin = 0; Person::players[closest]->creature = wolftype; + Person::players[closest]->whichskin = 0; + Person::players[closest]->skeletonLoad(); Person::players[closest]->proportionhead = 1.1; Person::players[closest]->proportionbody = 1.1; @@ -1919,11 +1887,9 @@ void doDebugKeys() Person::players[closest]->damagetolerance = 300; } else { - Person::players[closest]->skeleton.id = closest; - Person::players[closest]->skeleton.Load((char *)"Skeleton/BasicFigure", (char *)"Skeleton/BasicFigureLow", (char *)"Skeleton/RabbitBelt", (char *)"Models/Body.solid", (char *)"Models/Body2.solid", (char *)"Models/Body3.solid", (char *)"Models/Body4.solid", (char *)"Models/Body5.solid", (char *)"Models/Body6.solid", (char *)"Models/Body7.solid", (char *)"Models/BodyLow.solid", (char *)"Models/Belt.solid", 1); - Person::players[closest]->skeleton.drawmodel.textureptr.load("Textures/Fur3.jpg", 1, &Person::players[closest]->skeleton.skinText[0], &Person::players[closest]->skeleton.skinsize); - Person::players[closest]->whichskin = 0; Person::players[closest]->creature = rabbittype; + Person::players[closest]->whichskin = 0; + Person::players[closest]->skeletonLoad(true); Person::players[closest]->proportionhead = 1.2; Person::players[closest]->proportionbody = 1.05; @@ -2209,49 +2175,33 @@ void doDebugKeys() if (Input::isKeyPressed(SDL_SCANCODE_P) && Input::isKeyDown(SDL_SCANCODE_LSHIFT) && !Input::isKeyDown(SDL_SCANCODE_LCTRL)) { Person::players.push_back(shared_ptr(new Person())); - Person::players.back()->scale = .2 * 5 * Person::players[0]->scale; + Person::players.back()->id = Person::players.size()-1; + + Person::players.back()->scale = Person::players[0]->scale; Person::players.back()->creature = rabbittype; Person::players.back()->howactive = editoractive; - Person::players.back()->skeleton.id = Person::players.size()-1; - Person::players.back()->skeleton.Load((char *)"Skeleton/BasicFigure", (char *)"Skeleton/BasicFigureLow", (char *)"Skeleton/RabbitBelt", (char *)"Models/Body.solid", (char *)"Models/Body2.solid", (char *)"Models/Body3.solid", (char *)"Models/Body4.solid", (char *)"Models/Body5.solid", (char *)"Models/Body6.solid", (char *)"Models/Body7.solid", (char *)"Models/BodyLow.solid", (char *)"Models/Belt.solid", 1); int k = abs(Random() % 2) + 1; if (k == 0) { - Person::players.back()->skeleton.drawmodel.textureptr.load("Textures/Fur3.jpg", 1, &Person::players.back()->skeleton.skinText[0], &Person::players.back()->skeleton.skinsize); Person::players.back()->whichskin = 0; } else if (k == 1) { - Person::players.back()->skeleton.drawmodel.textureptr.load("Textures/Fur.jpg", 1, &Person::players.back()->skeleton.skinText[0], &Person::players.back()->skeleton.skinsize); Person::players.back()->whichskin = 1; } else { - Person::players.back()->skeleton.drawmodel.textureptr.load("Textures/Fur2.jpg", 1, &Person::players.back()->skeleton.skinText[0], &Person::players.back()->skeleton.skinsize); Person::players.back()->whichskin = 2; } + Person::players.back()->skeletonLoad(true); + Person::players.back()->skeleton.drawmodelclothes.textureptr.load("Textures/Belt.png", 1); - Person::players.back()->power = 1; - Person::players.back()->speedmult = 1; - Person::players.back()->animCurrent = bounceidleanim; - Person::players.back()->animTarget = bounceidleanim; - Person::players.back()->frameCurrent = 0; - Person::players.back()->frameTarget = 1; - Person::players.back()->target = 0; - Person::players.back()->bled = 0; Person::players.back()->speed = 1 + (float)(Random() % 100) / 1000; Person::players.back()->targetyaw = Person::players[0]->targetyaw; Person::players.back()->yaw = Person::players[0]->yaw; - Person::players.back()->velocity = 0; Person::players.back()->coords = Person::players[0]->coords; Person::players.back()->oldcoords = Person::players.back()->coords; Person::players.back()->realoldcoords = Person::players.back()->coords; - Person::players.back()->id = Person::players.size()-1; - Person::players.back()->updatedelay = 0; - Person::players.back()->normalsupdatedelay = 0; - - Person::players.back()->aitype = passivetype; - if (Person::players[0]->creature == wolftype) { headprop = Person::players[0]->proportionhead.x / 1.1; bodyprop = Person::players[0]->proportionbody.x / 1.1; @@ -2281,9 +2231,6 @@ void doDebugKeys() Person::players.back()->proportionlegs.y = 1.05 * legprop; } - Person::players.back()->headless = 0; - Person::players.back()->onfire = 0; - if (cellophane) { Person::players.back()->proportionhead.z = 0; Person::players.back()->proportionbody.z = 0; @@ -2291,7 +2238,7 @@ void doDebugKeys() Person::players.back()->proportionlegs.z = 0; } - Person::players.back()->tempanimation.Load((char *)"Tempanim", 0, 0); + Person::players.back()->tempanimation.Load("Tempanim", 0, 0); Person::players.back()->damagetolerance = 200; @@ -2319,20 +2266,7 @@ void doDebugKeys() Person::players.back()->power = Person::players[0]->power; Person::players.back()->speedmult = Person::players[0]->speedmult; - Person::players.back()->damage = 0; - Person::players.back()->permanentdamage = 0; - Person::players.back()->superpermanentdamage = 0; - Person::players.back()->deathbleeding = 0; - Person::players.back()->bleeding = 0; - Person::players.back()->numwaypoints = 0; - Person::players.back()->waypoint = 0; - Person::players.back()->weaponstuck = -1; - Person::players.back()->weaponactive = -1; - Person::players.back()->num_weapons = 0; - Person::players.back()->bloodloss = 0; - Person::players.back()->dead = 0; - - Person::players.back()->loaded = 1; + Person::players.back()->loaded = true; } if (Input::isKeyPressed(SDL_SCANCODE_P) && Input::isKeyDown(SDL_SCANCODE_LSHIFT)) { @@ -4710,7 +4644,7 @@ void updateSettingsMenu() void updateStereoConfigMenu() { char sbuf[256]; - sprintf(sbuf, "Stereo mode: %s", StereoModeName(newstereomode)); + sprintf(sbuf, "Stereo mode: %s", StereoModeName(newstereomode).c_str()); Menu::setText(0, sbuf); sprintf(sbuf, "Stereo separation: %.3f", stereoseparation); Menu::setText(1, sbuf); @@ -5218,7 +5152,7 @@ void MenuTick() if (selected == 0) { newstereomode = (StereoMode)(newstereomode + 1); while (!CanInitStereo(newstereomode)) { - printf("Failed to initialize mode %s (%i)\n", StereoModeName(newstereomode), newstereomode); + printf("Failed to initialize mode %s (%i)\n", StereoModeName(newstereomode).c_str(), newstereomode); newstereomode = (StereoMode)(newstereomode + 1); if (newstereomode >= stereoCount) newstereomode = stereoNone;