X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FAnimation%2FAnimation.cpp;h=a8ad6e19cf448dba073e62923b5d527d84af1290;hb=8b6e8f3ad7390309795eb35c0959264cb7924402;hp=4433800db337622be2b242c7c17373fe8de3c515;hpb=b84825978803615f45a9f128232e62431042aec0;p=lugaru.git diff --git a/Source/Animation/Animation.cpp b/Source/Animation/Animation.cpp index 4433800..a8ad6e1 100644 --- a/Source/Animation/Animation.cpp +++ b/Source/Animation/Animation.cpp @@ -17,18 +17,19 @@ You should have received a copy of the GNU General Public License along with Lugaru. If not, see . */ -#include "Animation/Animation.h" -#include "Animation/Skeleton.h" -#include "Utils/Folders.h" -#include "Game.h" +#include "Animation/Animation.hpp" -extern bool visibleloading; +#include "Animation/Skeleton.hpp" +#include "Game.hpp" +#include "Utils/Folders.hpp" std::vector Animation::animations; void Animation::loadAll() { -#define DECLARE_ANIM(id, file, height, attack, ...) if (id < loadable_anim_end) animations.emplace_back(file, height, attack); +#define DECLARE_ANIM(id, file, height, attack, ...) \ + if (id < loadable_anim_end) \ + animations.emplace_back(file, height, attack); #include "Animation.def" #undef DECLARE_ANIM } @@ -71,37 +72,37 @@ void AnimationFrame::loadWeaponTarget(FILE* tfile) funpackf(tfile, "Bf Bf Bf", &weapontarget.x, &weapontarget.y, &weapontarget.z); } -Animation::Animation(): - height(lowheight), - attack(neutral), - numjoints(0) +Animation::Animation() + : height(lowheight) + , attack(neutral) + , numjoints(0) { } /* EFFECT * load an animation from file */ -Animation::Animation(const std::string& filename, anim_height_type aheight, anim_attack_type aattack): - Animation() +Animation::Animation(const std::string& filename, anim_height_type aheight, anim_attack_type aattack) + : Animation() { - FILE *tfile; - int i, j, numframes; + FILE* tfile; + int numframes; + unsigned i; LOGFUNC; // Changing the filename into something the OS can understand - std::string filepath = Folders::getResourcePath("Animations/"+filename); + std::string filepath = Folders::getResourcePath("Animations/" + filename); LOG(std::string("Loading animation...") + filepath); height = aheight; attack = aattack; - if (visibleloading) - Game::LoadingScreen(); + Game::LoadingScreen(); // read file in binary mode - tfile = Folders::openMandatoryFile( filepath, "rb" ); + tfile = Folders::openMandatoryFile(filepath, "rb"); // read numframes, joints to know how much memory to allocate funpackf(tfile, "Bi Bi", &numframes, &numjoints); @@ -140,9 +141,9 @@ Animation::Animation(const std::string& filename, anim_height_type aheight, anim // find average position of certain joints on last frames // and save in endoffset // (not sure what exactly this accomplishes. the y < 1 test confuses me.) - for (j = 0; j < numjoints; j++) { - if (frames.back().joints[j].position.y < 1) { - endoffset += frames.back().joints[j].position; + for (i = 0; i < frames.back().joints.size(); i++) { + if (frames.back().joints[i].position.y < 1) { + endoffset += frames.back().joints[i].position; } } endoffset /= numjoints;