diff --git a/CrystalPoint.cpp b/CrystalPoint.cpp index 826ad4a..9b2a479 100644 --- a/CrystalPoint.cpp +++ b/CrystalPoint.cpp @@ -13,7 +13,7 @@ void CrystalPoint::init() lastFrameTime = 0; - glClearColor(0.7, 0.7, 1.0, 1.0); + glClearColor(0.7f, 0.7f, 1.0f, 1.0f); mousePosition = Vec2f(width / 2, height / 2); } @@ -85,13 +85,13 @@ void CrystalPoint::update() if (keyboardState.keys['d']) player->setPosition(180, deltaTime*speed, false); if (keyboardState.keys['w']) player->setPosition(90, deltaTime*speed, false); if (keyboardState.keys['s']) player->setPosition(270, deltaTime*speed, false); - //if (keyboardState.keys['q']) player->setPosition(1, deltaTime*speed, true); - //if (keyboardState.keys['e']) player->setPosition(-1, deltaTime*speed, true); + if (keyboardState.keys['q']) player->setPosition(1, deltaTime*speed, true); + if (keyboardState.keys['e']) player->setPosition(-1, deltaTime*speed, true); if (!worldhandler->isPlayerPositionValid()) player->position = oldPosition; - player->position.y = worldhandler->getHeight(player->position.x, player->position.z) + 1.7f; + //player->position.y = worldhandler->getHeight(player->position.x, player->position.z) + 1.7f; worldhandler->update(deltaTime); diff --git a/Enemy.cpp b/Enemy.cpp index a56fbfc..2864fb8 100644 --- a/Enemy.cpp +++ b/Enemy.cpp @@ -48,6 +48,22 @@ void Enemy::draw() glPopMatrix(); } +void Enemy::inEyeSight(Vec3f & TargetPosition) +{ + if (position.Distance(TargetPosition) <= radius) + { + hasTarget = true; + target = TargetPosition; + } + else + hasTarget = false; +} + +bool Enemy::hasCollison(Vec3f &) +{ + +} + void Enemy::update(float delta) { if (hasTarget) diff --git a/Enemy.h b/Enemy.h index eae8ec6..44aec67 100644 --- a/Enemy.h +++ b/Enemy.h @@ -16,5 +16,8 @@ public: void update(float); void draw(); + + void inEyeSight(Vec3f &); + bool hasCollison(Vec3f &); }; diff --git a/Entity.cpp b/Entity.cpp index d79b247..4432589 100644 --- a/Entity.cpp +++ b/Entity.cpp @@ -21,17 +21,17 @@ Entity::~Entity() void Entity::draw() { + //rotation.y += 0.05f; if (model) { glPushMatrix(); - glTranslatef(position.x, position.y, position.z); glRotatef(rotation.x, 1, 0, 0); glRotatef(rotation.y, 0, 1, 0); glRotatef(rotation.z, 0, 0, 1); glScalef(scale, scale, scale); - glTranslatef(-model->center.x, 0, -model->center.z); + //glTranslatef(-model->center.x, 0, -model->center.z); glEnable(GL_CULL_FACE); glCullFace(GL_BACK); diff --git a/Main.cpp b/Main.cpp index b385658..b790d8b 100644 --- a/Main.cpp +++ b/Main.cpp @@ -57,7 +57,7 @@ void configureOpenGL() glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH); glutInitWindowSize(800, 600); glutCreateWindow("Crystal Point"); - //glutFullScreen(); + glutFullScreen(); //Depth testing glEnable(GL_DEPTH_TEST); diff --git a/Player.cpp b/Player.cpp index dcb172e..a51e4cf 100644 --- a/Player.cpp +++ b/Player.cpp @@ -7,7 +7,7 @@ Player* Player::instance = NULL; Player::Player() { - speed = 10; + } Player* Player::getInstance() @@ -41,8 +41,7 @@ void Player::setCamera() } void Player::setPosition(float angle, float fac, bool height) -{ - fac *= speed; +{ if (height) position.y += angle*fac; else diff --git a/Player.h b/Player.h index d9a2a8f..d5b8fca 100644 --- a/Player.h +++ b/Player.h @@ -22,7 +22,4 @@ public: Model* leftWeapon; Model* rightWeapon; - - - float speed; }; \ No newline at end of file diff --git a/World.cpp b/World.cpp index a2d54ad..2b432b3 100644 --- a/World.cpp +++ b/World.cpp @@ -29,10 +29,10 @@ World::World(const std::string &fileName) if (!v["world"]["scale"].isNull()) scale = v["world"]["scale"].asFloat(); - heightmap = new HeightMap(v["world"]["heightmap"].asString(), scale); + //heightmap = new HeightMap(v["world"]["heightmap"].asString(), scale); - if(!v["world"]["texture"].isNull()) - heightmap->SetTexture(v["world"]["texture"].asString()); + /*if(!v["world"]["texture"].isNull()) + heightmap->SetTexture(v["world"]["texture"].asString());*/ player->position.x = v["player"]["startposition"][0].asFloat()*scale; player->position.y = v["player"]["startposition"][1].asFloat()*scale; @@ -87,12 +87,12 @@ World::World(const std::string &fileName) World::~World() { - delete heightmap; + //delete heightmap; } float World::getHeight(float x, float y) { - return heightmap->GetHeight(x, y); + //return heightmap->GetHeight(x, y); } void World::draw() @@ -104,8 +104,9 @@ void World::draw() float lightAmbient[4] = { 0.5, 0.5, 0.5, 1 }; glLightfv(GL_LIGHT0, GL_AMBIENT, lightAmbient); - glColor4f(1.0f, 1.0f, 1.0f, 1.0f); - heightmap->Draw(); + glColor4f(1.0f,1.0f, 1.0f, 1.0f); + //heightmap->Draw(); + for (auto &enemy : enemies) enemy->draw(); @@ -123,16 +124,9 @@ void World::update(float elapsedTime) { //Al deze code zou in enemy moeten staan - if (enemy->position.Distance(player->position) <= enemy->radius) - { - enemy->hasTarget = true; - enemy->target.x = player->position.x; - enemy->target.z = player->position.z; - } - else - enemy->hasTarget = false; + enemy->inEyeSight(player->position); - Vec3f oldpos = enemy->position; + enemy->update(elapsedTime); if (enemy->hasTarget) { diff --git a/World.h b/World.h index 0df2a06..c590459 100644 --- a/World.h +++ b/World.h @@ -17,7 +17,7 @@ public: std::vector enemies; Player* player; - HeightMap* heightmap; + //HeightMap* heightmap; void draw(); void update(float elapsedTime); diff --git a/worlds/fire.json b/worlds/fire.json index 5d1368a..0fb74f0 100644 --- a/worlds/fire.json +++ b/worlds/fire.json @@ -15,17 +15,19 @@ ] }, "player": { - "startposition": [ 200, 40, 200 ] + "startposition": [ 0, 1.7, 0] }, "objects": [ { "file": "models/boom/Boom.obj", - "pos": [ 4, 0, -4 ] + "pos": [ 4, 0, -4 ], + "collide": "true" }, - { + { "file": "models/boom/Boom.obj", - "pos": [ -4, 0, -4 ] - } + "pos": [ -4, 0, -4 ], + "collide": "true" + } ], "enemies": [ { diff --git a/worlds/ice.json b/worlds/ice.json index 44b0137..02561a3 100644 --- a/worlds/ice.json +++ b/worlds/ice.json @@ -5,12 +5,12 @@ "scale": 2 }, "player": { - "startposition": [ 100, 20, 100 ] + "startposition": [ 0, 1.7, 0] }, "objects": [ { "file": "models/boom/Boom.obj", - "pos": [ 4, 0, -4 ] + "pos": [ 10, 0, -4 ] }, { "file": "models/Teleporter/Teleporter.obj", @@ -20,7 +20,7 @@ "enemies": [ { "file": "models/squid/Blooper.obj", - "pos": [ 1, 2, -10 ], + "pos": [ 10, 2, -10 ], "scale": 0.01 } ] diff --git a/worlds/worlds.json b/worlds/worlds.json index f1f5747..085ff36 100644 --- a/worlds/worlds.json +++ b/worlds/worlds.json @@ -1,6 +1,5 @@ { "worlds": [ - "worlds/small.json", "worlds/ice.json", "worlds/fire.json" ]