From: LockedLunatic Date: Mon, 20 Jun 2016 00:03:02 +0000 (+0200) Subject: Merge branch 'master' of git-cgue@lva.cg.tuwien.ac.at:Weave X-Git-Url: https://git.leopard-lacewing.eu/?a=commitdiff_plain;h=92da84575db0b0fb7e526cccb0d2ec0740941087;p=cgue_weave.git Merge branch 'master' of git-cgue@lva.cg.tuwien.ac.at:Weave # Conflicts: # Weave/Weave.vcxproj.filters --- 92da84575db0b0fb7e526cccb0d2ec0740941087 diff --cc Weave/Game.cpp index 53b96d9,8beb641..c21bc42 --- a/Weave/Game.cpp +++ b/Weave/Game.cpp @@@ -64,27 -61,13 +62,27 @@@ Game::Game() : playing(true //current_world->addObject(new SceneObject( glm::mat4(1.0f), "Player.dae", "model_player.png")); //current_world->addObject(new SceneObject( translate(vec3(-3.f, .4f, 0.f))*scale(vec3(3.f)), "cow/cow.dae", "model_cow_2D.jpg")); current_world->addObject(new SceneObject(translate(vec3(-3.f, .4f, 0.f)), vec4(3.0f, 0.5f, 0.4f, 1.5f), "duck_col", "model_duck_2D.png")); - current_world->addObject(new SceneObject(translate(vec3(-5.f, .4f, 0.f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "duck", "model_duck_2D.png")); + //current_world->addObject(new SceneObject(translate(vec3(-5.f, .4f, 0.f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boar", "model_boar_2D.png")); SceneObject* door = new SceneObject(translate(vec3(2.f, .4f, 0.f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "door", "model_duck_2D.png"); - SceneObject* lever = new SceneObject(translate(vec3(0.f, .4f, 0.f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "lever", "model_duck_2D.png"); - lever->timeresistant = true; current_world->addObject(door); + door->startanimation((uint)0, 1.0f); + door->setAnimationLoop(true); + + SceneObject* door2 = new SceneObject(translate(vec3(1.f, .4f, 0.f)), vec4(3.0f, 1.f, 0.4f, 1.5f), "door", "model_duck_2D.png"); + current_world->addObject(door2); + door2->startanimation((uint)0, 1.0f); + door2->setAnimationLoop(true); + door2->timeresistant = true; + + Lever* lever = new Lever(translate(vec3(0.f, .4f, 0.f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "lever", "model_duck_2D.png"); current_world->addObject(lever); + lever->startanimation((uint)0, 0.0f); + lever->setAnimationLoop(false); + lever->timeresistant = true; + lever->setup(door); + + //TODO register door to lever current_world->addObject(new SceneObject(translate(vec3(-5.f, 3.f, 0.f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "SkyBox", "model_SkyBox_2D.png")); diff --cc Weave/Scene/Scene.cpp index a02a3c3,44d8043..01a5360 --- a/Weave/Scene/Scene.cpp +++ b/Weave/Scene/Scene.cpp @@@ -53,14 -53,8 +53,14 @@@ lookat(_lookat currenttime = 0.0f; if (lookat != nullptr) - timestamps.push(Timestamp(0.0f, _lookat->getModelMat(), lookat->ySpeed)); + timestamps.push(Timestamp(0.0f, _lookat->gModelMat(), lookat->ySpeed)); + TimeEvent dummy; + dummy.time = 0.0f; + dummy.object = nullptr; + dummy.id = -1; + events.push(dummy); + bt_collision_configuration = new btDefaultCollisionConfiguration(); bt_dispatcher = new btCollisionDispatcher(bt_collision_configuration); diff --cc Weave/Scene/SceneObject.h index ffbb79f,235e82e..82e9d62 --- a/Weave/Scene/SceneObject.h +++ b/Weave/Scene/SceneObject.h @@@ -97,12 -92,12 +97,14 @@@ public bool movable = true; + short collide_group, collide_with; + protected: + void updateAnimation(float); + mat4 modelMat; - + mat4 oldModelMat; //const Shader * shader; Texture* texture;