along with Lugaru. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "Animation/Muscle.h"
-#include "binio.h"
+#include "Animation/Muscle.hpp"
+
+#include "Utils/binio.h"
extern float multiplier;
extern bool freeze;
-Muscle::Muscle()
-{
- length = 0;
- targetlength = 0;
- parent1 = 0;
- parent2 = 0;
- maxlength = 0;
- minlength = 0;
- type = boneconnect;
- visible = 0;
- rotate1 = 0, rotate2 = 0, rotate3 = 0;
- lastrotate1 = 0, lastrotate2 = 0, lastrotate3 = 0;
- oldrotate1 = 0, oldrotate2 = 0, oldrotate3 = 0;
- newrotate1 = 0, newrotate2 = 0, newrotate3 = 0;
-
- strength = 0;
-}
-
-Muscle::~Muscle()
+Muscle::Muscle() :
+ length(0),
+ targetlength(0),
+ parent1(0),
+ parent2(0),
+ maxlength(0),
+ minlength(0),
+ type(boneconnect),
+ visible(false),
+ rotate1(0), rotate2(0), rotate3(0),
+ lastrotate1(0), lastrotate2(0), lastrotate3(0),
+ oldrotate1(0), oldrotate2(0), oldrotate3(0),
+ newrotate1(0), newrotate2(0), newrotate3(0),
+
+ strength(0)
{
}
-void Muscle::load(FILE* tfile, int vertexNum, Joint* joints)
+void Muscle::load(FILE* tfile, int vertexNum, std::vector<Joint>& joints)
{
int numvertices, vertice, parentID;
strength = 1;
length -= (length - relaxlength) * (1 - strength) * multiplier * 10000;
- length -= (length - targetlength) * (strength) * multiplier * 10000;
+ length -= (length - targetlength) * strength * multiplier * 10000;
if (strength == 0)
length = relaxlength;