From: Peter Schaefer Date: Tue, 28 Jun 2016 02:40:57 +0000 (+0200) Subject: Boar ungefährlich nach draufspringen X-Git-Url: https://git.leopard-lacewing.eu/?a=commitdiff_plain;h=f5a4bf6a204824892f831284633523d912c23913;p=cgue_weave.git Boar ungefährlich nach draufspringen + sinkt etwas ab --- diff --git a/Weave/Scene/Boar.cpp b/Weave/Scene/Boar.cpp index 79a091d..275b250 100644 --- a/Weave/Scene/Boar.cpp +++ b/Weave/Scene/Boar.cpp @@ -18,7 +18,36 @@ Boar::~Boar() void Boar::update(float _deltaT) { - SceneObject::update(_deltaT); +//Fallen + if (!yStatic) + { + if (yFloorDist>0) + { + if (ySpeed*_deltaT < yFloorDist || ySpeed>0) + move(vec3(0.f, ySpeed*_deltaT, 0.f)); + else + { + move(vec3(0.f, yFloorDist, 0.f)); + // ySpeed = 0; //set to FloorSpeed? + } + if (_deltaT > 0) + { + ySpeed -= _deltaT*YFALL_SPEED; + } + } + + } + + updateAnimation(_deltaT); + + btTransform tmp; + + if(!alive) + tmp.setFromOpenGLMatrix(value_ptr(translate(vec3(0.f, .3f, 0.f))*modelMat)); + else + tmp.setFromOpenGLMatrix(value_ptr(modelMat)); + bt_collision_object->setWorldTransform(tmp); + yFloorDist = 100; if (activated) { diff --git a/Weave/Scene/SceneObject.cpp b/Weave/Scene/SceneObject.cpp index 7347d7e..d2893f5 100644 --- a/Weave/Scene/SceneObject.cpp +++ b/Weave/Scene/SceneObject.cpp @@ -20,8 +20,6 @@ using std::string; -#define YFALL_SPEED 9.8f - static inline bool file_exist(const std::string& name) { struct stat buffer; return (stat(name.c_str(), &buffer) == 0); diff --git a/Weave/Scene/SceneObject.h b/Weave/Scene/SceneObject.h index febf6da..cfe327d 100644 --- a/Weave/Scene/SceneObject.h +++ b/Weave/Scene/SceneObject.h @@ -5,6 +5,8 @@ #include +#define YFALL_SPEED 9.8f + typedef unsigned int uint; using std::string;