diff --git a/sources/Map/Map.cpp b/sources/Map/Map.cpp index 3e6af67e..b78a87e4 100644 --- a/sources/Map/Map.cpp +++ b/sources/Map/Map.cpp @@ -45,10 +45,12 @@ namespace BBM if (!health || !movable || !wallPos) return; - if (entityPos->position.distance(wallPos->position) < 0.3) + if (entityPos->position.distance(wallPos->position) < 1.02) health->takeDmg(health->getHealthPoint()); - else - movable->addForce((wallPos->position - entityPos->position) * 0.02); + else { + auto vec = (wallPos->position - entityPos->position) * 0.03; + movable->addForce({vec.x, 0, vec.z}); + } } void MapGenerator::wallCollision(WAL::Entity &entity, @@ -303,7 +305,7 @@ namespace BBM .addComponent>() .addComponent( WAL::Callback(), - &MapGenerator::holeCollide, Vector3f(0.25, 0.25, 0.25),Vector3f(0.75, 1.75, 0.75)); + &MapGenerator::holeCollide, Vector3f(-0.75, 0.75, -0.75),Vector3f(2.5, 1.25,2.5)); if (coords.y == 0) holeEntity.addComponent(holeObj, false, std::make_pair(MAP_DIFFUSE, holePng), Vector3f(1,1,1), 180); else diff --git a/sources/Runner/GameScene.cpp b/sources/Runner/GameScene.cpp index d4e5a382..a7707bcd 100644 --- a/sources/Runner/GameScene.cpp +++ b/sources/Runner/GameScene.cpp @@ -65,8 +65,8 @@ namespace BBM .addComponent>() .addComponent("assets/player/player.iqm", 3) .addComponent(BBM::Vector3f{0.25, 0, 0.25}, BBM::Vector3f{.75, 2, .75}) - .addComponent() .addComponent(soundPath) + .addComponent() .addComponent("assets/musics/music_battle.ogg") .addComponent() .addComponent() diff --git a/sources/System/Renderer/CameraSystem.cpp b/sources/System/Renderer/CameraSystem.cpp index 481604e6..d8dcd8d7 100644 --- a/sources/System/Renderer/CameraSystem.cpp +++ b/sources/System/Renderer/CameraSystem.cpp @@ -8,6 +8,7 @@ #include "Component/Timer/TimerComponent.hpp" #include "Runner/Runner.hpp" #include "Component/Renderer/Drawable2DComponent.hpp" +#include "Component/Movable/MovableComponent.hpp" #include "Drawables/2D/Text.hpp" namespace RAY2D = RAY::Drawables::Drawables2D; @@ -59,8 +60,8 @@ namespace BBM float lowerZDist = 0; for (auto &[player, position, _] : this->_wal.getScene()->view>()) { - if (!player.hasComponent()) - player.addComponent(); + if (!player.hasComponent()) + player.addComponent(); playerPos.emplace_back(position.position); } if (playerPos.size() == 1)