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"));\r
//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"));\r
\r
- SceneObject* door1 = new SceneObject(translate(vec3(92.f, -12.f, -4.f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "door", "model_duck_2D.png");\r
+ SceneObject* door1 = new Level(translate(vec3(92.f, -12.f, -4.f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "door", "model_duck_2D.png");\r
current_world->addObject(door1);\r
door1->setAnimationLoop(false);\r
door1->timeresistant = true;\r
\r
- SceneObject* door2 = new SceneObject(translate(vec3(7.0f, 0.0f, -5.0f)), vec4(3.0f, 1.f, -1.4f, 1.5f), "door", "model_duck_2D.png");\r
+ SceneObject* door2 = new Level(translate(vec3(7.0f, 0.0f, -5.0f)), vec4(3.0f, 1.f, -1.4f, 1.5f), "door", "model_duck_2D.png");\r
current_world->addObject(door2);\r
door2->setAnimationLoop(false);\r
\r
current_world->addObject(lever2);\r
lever2->setAnimationLoop(false);\r
lever2->timeresistant = true;\r
- lever2->setup(door1);\r
+ lever2->setup(door2);\r
\r
current_world->addObject(new Boar(translate(vec3(-5.f, 1.f, 5.f))));\r
\r
bt_rigid_body = new btRigidBody(RigidBodyCI);
}
+Level::Level(const mat4& _modelMat, const vec4& _material, std::string _modelpath, std::string _texturepath) :
+ SceneObject(_modelMat, _material, Model::newIMetaModel(_modelpath + ".dae"), _texturepath)
+{
+ collide_group = COL_LEVEL;
+ collide_with = COL_MARVIN | COL_ENEMY;
+
+ //model->bindModel();
+ //model->bindShader(shader);
+
+ collision = model;
+ collision->bt_init();
+ bt_collision_object->setCollisionShape(*collision);
+ bt_collision_object->setUserPointer(this);
+
+
+ btTransform btModelMat;
+ btModelMat.setFromOpenGLMatrix(value_ptr(modelMat));
+
+ btDefaultMotionState* MotionState =
+ new btDefaultMotionState(btModelMat);
+ btRigidBody::btRigidBodyConstructionInfo RigidBodyCI(0, MotionState, *model, btVector3(0, 0, 0));
+
+ bt_rigid_body = new btRigidBody(RigidBodyCI);
+}
+
Level::~Level()
{