From b98e2532ed9b13b50748f22a4cfb22db7c3761d4 Mon Sep 17 00:00:00 2001 From: fgenesis Date: Fri, 16 May 2014 00:04:56 +0200 Subject: [PATCH] Fix crash when AnimationLayer is missing --- BBGE/SkeletalSprite.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/BBGE/SkeletalSprite.cpp b/BBGE/SkeletalSprite.cpp index 8fe3263..ae305e3 100644 --- a/BBGE/SkeletalSprite.cpp +++ b/BBGE/SkeletalSprite.cpp @@ -1694,18 +1694,15 @@ void SkeletalSprite::loadSkeletal(const std::string &fn) Animation *SkeletalSprite::getCurrentAnimation(int layer) { - return animLayers[layer].getCurrentAnimation(); + return layer < animLayers.size() ? animLayers[layer].getCurrentAnimation() : NULL; } void SkeletalSprite::setTime(float time, int layer) { - animLayers[layer].timer = time; + if(layer < animLayers.size()) + animLayers[layer].timer = time; } -// hack: -// calculate based on frames -const int lerpAvg = 3; - void AnimationLayer::updateBones() { if (!animating && !(&s->animLayers[0] == this) && fallThru == 0) return;