From 3f44547d25e7e337845efe3cf11954657c5b9e28 Mon Sep 17 00:00:00 2001 From: sippeangelo Date: Wed, 7 Oct 2015 14:29:28 +0200 Subject: [PATCH 1/8] NO MERCY, BITCHERS --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2c56989..a3aa1ed 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,11 +15,11 @@ else() endif() if(CMAKE_COMPILER_IS_GNUCXX) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -fpermissive") if(UNIX) # Needed to link with debug version of bgfx on linux set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -ldl") endif() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") endif() set(BUILD_SHARED_LIBS FALSE) From 1462ca6111ff98e6fd1e2e486bb4e641436e99ba Mon Sep 17 00:00:00 2001 From: viktorljung Date: Wed, 7 Oct 2015 14:41:59 +0200 Subject: [PATCH 2/8] fixes --- src/game/Physics/PhysicsSystem.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/game/Physics/PhysicsSystem.cpp b/src/game/Physics/PhysicsSystem.cpp index 8496a1f..4cc25a9 100755 --- a/src/game/Physics/PhysicsSystem.cpp +++ b/src/game/Physics/PhysicsSystem.cpp @@ -14,7 +14,7 @@ void dd::Systems::PhysicsSystem::Initialize() m_PhysicsWorld = new b2World(m_Gravity); m_PhysicsWorld->SetContactListener(m_ContactListener); InitializeWater(); - EVENT_SUBSCRIBE_MEMBER(m_SetImpulse, PhysicsSystem::SetImpulse); + EVENT_SUBSCRIBE_MEMBER(m_SetImpulse, &PhysicsSystem::SetImpulse); EVENT_SUBSCRIBE_MEMBER(m_EPause, &PhysicsSystem::OnPause); } @@ -170,7 +170,7 @@ void dd::Systems::PhysicsSystem::Update(double dt) b2Vec2 *positionBuffer = m_ParticleSystem[e]->GetPositionBuffer(); for (auto i : m_EntitiesToParticleHandle[e]) { EntityID entity = i.first; - b2ParticleHandle *particleH = i.second; + const b2ParticleHandle *particleH = i.second; b2Vec2 positionB2 = positionBuffer[particleH->GetIndex()]; glm::vec2 position = glm::vec2(positionB2.x, positionB2.y); From 9ef845955b5cece0ab0d54c85047f93802297155 Mon Sep 17 00:00:00 2001 From: viktorljung Date: Wed, 7 Oct 2015 14:45:32 +0200 Subject: [PATCH 3/8] removed unfinished physicstest --- src/tests/RemovePhysicsSystemTest.cpp | 51 --------------------------- 1 file changed, 51 deletions(-) delete mode 100644 src/tests/RemovePhysicsSystemTest.cpp diff --git a/src/tests/RemovePhysicsSystemTest.cpp b/src/tests/RemovePhysicsSystemTest.cpp deleted file mode 100644 index 5cae97f..0000000 --- a/src/tests/RemovePhysicsSystemTest.cpp +++ /dev/null @@ -1,51 +0,0 @@ -#include "PrecompiledHeader.h" -#include -#include "Core/World.h" -#include "Core/EventBroker.h" -#include "Physics/PhysicsSystem.h" -#include "Transform/TransformSystem.h" - -#include "Physics/CPhysics.h" -#include "Physics/CRectangleShape.h" - - - - -using namespace dd; - -BOOST_AUTO_TEST_CASE(RemovePhysicsSystemTest) -{ - // Setup world - std::shared_ptr eventBroker = std::make_shared(); - World world(eventBroker); - - world.SystemFactory.Register( - [this]() { return new Systems::TransformSystem(&world, eventBroker); }); - world.AddSystem(); - - world.SystemFactory.Register( - [this]() { return new Systems::PhysicsSystem(&world, eventBroker); }); - world.AddSystem(); - - world.ComponentFactory.Register(); - world.ComponentFactory.Register(); - - //Create entity - EntityID ent = world.CreateEntity(); - - auto transform = world.AddComponent(ent); - transform->Position = glm::vec3(20.f, 0.f, -10.f); - transform->Velocity = glm::vec3(1.f, 3.f, 0.f); - transform->Scale = glm::vec3(2.f, 5.f, 1.f); - - auto physics = world.AddComponent(ent); - physics->Static = false; - physics->Calculate = true; - physics->Category = CollisionLayer::Type::Ball; - physics->Mask = CollisionLayer::Type::Brick | CollisionLayer::Type::Pad | CollisionLayer::Wall; - physics->GravityScale = 0.f; - - auto rectangle = world.AddComponent(ent); - - -} \ No newline at end of file From 4db9995dc15dca6db641448a731a7171e849f91b Mon Sep 17 00:00:00 2001 From: sippeangelo Date: Wed, 7 Oct 2015 15:34:30 +0200 Subject: [PATCH 4/8] Removed CMake Boost debug output crap --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a3aa1ed..d2afd35 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,7 +31,7 @@ include_directories(${PROJECT_SOURCE_DIR}/include) #set(GLFW_INCLUDE_DIR ${daydream_SOURCE_DIR}/libs/glfw-3.0.4/include) #set(GLFW_LIBRARY ${daydream_SOURCE_DIR}/libs/glfw-3.0.4/lib/Release/glfw3dll.lib) -set(Boost_DEBUG ON) +#set(Boost_DEBUG ON) set(Boost_USE_STATIC_LIBS on) add_definitions(-DBOOST_ALL_NO_LIB) #set(BOOST_INCLUDEDIR ${BOOST_ROOT}/boost) From 562a5fa269831a224c5fdbccdcadcf0eb89922b0 Mon Sep 17 00:00:00 2001 From: viktorljung Date: Wed, 7 Oct 2015 15:40:04 +0200 Subject: [PATCH 5/8] fixed more bugs --- include/Physics/PhysicsSystem.h | 2 +- src/game/Physics/PhysicsSystem.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/Physics/PhysicsSystem.h b/include/Physics/PhysicsSystem.h index 8424ba0..f1a81a9 100755 --- a/include/Physics/PhysicsSystem.h +++ b/include/Physics/PhysicsSystem.h @@ -58,7 +58,7 @@ namespace dd struct Impulse { b2Body* Body; - b2Vec2 Impulse; + b2Vec2 Vector; b2Vec2 Point; }; bool m_Pause = false; diff --git a/src/game/Physics/PhysicsSystem.cpp b/src/game/Physics/PhysicsSystem.cpp index 4cc25a9..fa29bed 100755 --- a/src/game/Physics/PhysicsSystem.cpp +++ b/src/game/Physics/PhysicsSystem.cpp @@ -43,7 +43,7 @@ bool dd::Systems::PhysicsSystem::SetImpulse(const Events::SetImpulse &event) Impulse i; i.Body = it->second; - i.Impulse = impulse; + i.Vector = impulse; i.Point = point; m_Impulses.push_back(i); @@ -155,7 +155,7 @@ void dd::Systems::PhysicsSystem::Update(double dt) //Apply Impulses Must be done after SyncEntitiesWithBodies for (auto i : m_Impulses) { - i.Body->ApplyLinearImpulse(i.Impulse, i.Point, true); + i.Body->ApplyLinearImpulse(i.Vector, i.Point, true); } m_Impulses.clear(); From 71fe786b04082695f7c9795ba01c9d21996dca63 Mon Sep 17 00:00:00 2001 From: viktorljung Date: Wed, 7 Oct 2015 15:45:50 +0200 Subject: [PATCH 6/8] even more bug fixes --- include/Core/Engine.h | 2 +- include/Physics/CParticleEmitter.h | 2 +- include/Physics/PhysicsSystem.h | 6 +++--- src/game/Physics/PhysicsSystem.cpp | 20 ++++++++++---------- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/include/Core/Engine.h b/include/Core/Engine.h index cdcc756..f18c416 100755 --- a/include/Core/Engine.h +++ b/include/Core/Engine.h @@ -189,7 +189,7 @@ public: // { // auto Pe = m_World->CreateEntity(); // auto transform = m_World->AddComponent(Pe); -// auto particleEmitter= m_World->AddComponent(Pe); +// auto particleEmitter= m_World->AddComponent(Pe); // // transform->Position = glm::vec3(0.f, -5.f, -10.f); // particleEmitter->GravityScale = 0.0f; diff --git a/include/Physics/CParticleEmitter.h b/include/Physics/CParticleEmitter.h index a965a84..af97a9c 100755 --- a/include/Physics/CParticleEmitter.h +++ b/include/Physics/CParticleEmitter.h @@ -14,7 +14,7 @@ struct ParticleEmitter : public Component double SpawnRate = 1.f; double TimeSinceLastSpawn = 0; - //ParticleSystem variables + //System variables float GravityScale = 1.0f; }; diff --git a/include/Physics/PhysicsSystem.h b/include/Physics/PhysicsSystem.h index f1a81a9..34225ee 100755 --- a/include/Physics/PhysicsSystem.h +++ b/include/Physics/PhysicsSystem.h @@ -99,9 +99,9 @@ namespace dd //TODO: Fill struct with info needed. struct ParticleEmitter { - std::vector ParticleSystem; - std::vector ParticleEmitter; - std::vector ParticleTemplate; + std::vector System; + std::vector Emitter; + std::vector Template; }; ParticleEmitter m_ParticleEmitters; diff --git a/src/game/Physics/PhysicsSystem.cpp b/src/game/Physics/PhysicsSystem.cpp index fa29bed..eb9b6ea 100755 --- a/src/game/Physics/PhysicsSystem.cpp +++ b/src/game/Physics/PhysicsSystem.cpp @@ -371,10 +371,10 @@ void dd::Systems::PhysicsSystem::CreateParticleGroup(EntityID e) void dd::Systems::PhysicsSystem::UpdateParticleEmitters(double dt) { - for (int i = 0; i < m_ParticleEmitters.ParticleSystem.size(); i++) { - auto e = m_ParticleEmitters.ParticleEmitter[i]; - auto pt = m_ParticleEmitters.ParticleTemplate[i]; - auto ps = m_ParticleEmitters.ParticleSystem[i]; + for (int i = 0; i < m_ParticleEmitters.System.size(); i++) { + auto e = m_ParticleEmitters.Emitter[i]; + auto pt = m_ParticleEmitters.Template[i]; + auto ps = m_ParticleEmitters.System[i]; auto emitter = m_World->GetComponent(e); @@ -426,14 +426,14 @@ void dd::Systems::PhysicsSystem::CreateParticleEmitter(EntityID entity) auto particleTemplate = m_World->GetComponent(c); if (!p) { continue; - LOG_WARNING("--ParticleEmitter's Child is not a particle."); + LOG_WARNING("--Emitter's Child is not a particle."); } if(!particleTemplate) { - LOG_ERROR("ParticleEmitter's particleChild is not a template."); + LOG_ERROR("Emitter's particleChild is not a template."); continue; } if (pf != 0) { - LOG_WARNING("ParticleEmitter has more than one child that is a particleTemplate, only the first one is used."); + LOG_WARNING("Emitter has more than one child that is a particleTemplate, only the first one is used."); break; } childEntity = c; @@ -441,9 +441,9 @@ void dd::Systems::PhysicsSystem::CreateParticleEmitter(EntityID entity) pf++; } //TODO: Skicka med fler flaggor till particlesystemet; - m_ParticleEmitters.ParticleSystem.push_back(CreateParticleSystem(particle->Radius, 0.f)); - m_ParticleEmitters.ParticleEmitter.push_back(entity); - m_ParticleEmitters.ParticleTemplate.push_back(childEntity); + m_ParticleEmitters.System.push_back(CreateParticleSystem(particle->Radius, 0.f)); + m_ParticleEmitters.Emitter.push_back(entity); + m_ParticleEmitters.Template.push_back(childEntity); } From 129ef1f779aaff37b85e2c93029eb376f9ef6819 Mon Sep 17 00:00:00 2001 From: sippeangelo Date: Wed, 7 Oct 2015 15:46:07 +0200 Subject: [PATCH 7/8] Corrected FrameTest --- src/tests/FrameTest.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tests/FrameTest.cpp b/src/tests/FrameTest.cpp index 57f9712..fd7a870 100644 --- a/src/tests/FrameTest.cpp +++ b/src/tests/FrameTest.cpp @@ -35,7 +35,7 @@ BOOST_AUTO_TEST_CASE(FrameTest) BOOST_CHECK(f2.X == 100); BOOST_CHECK(f2.X == f1.X + f1.Width); BOOST_CHECK(f2.Left() == 200); BOOST_CHECK(f2.Left() == f1.Right()); BOOST_CHECK(f2.Y == 100); BOOST_CHECK(f2.Y == f1.Y + f1.Height); - BOOST_CHECK(f2.Top() == 150); BOOST_CHECK(f2.Top() == f1.Bottom()); + BOOST_CHECK(f2.Top() == 200); BOOST_CHECK(f2.Top() == f1.Bottom()); BOOST_CHECK(f2.Right() == 250); BOOST_CHECK(f2.Right() == f1.Right() + f2.Width); - BOOST_CHECK(f2.Bottom() == 200); BOOST_CHECK(f2.Bottom() == f1.Bottom() + f2.Height); + BOOST_CHECK(f2.Bottom() == 250); BOOST_CHECK(f2.Bottom() == f1.Bottom() + f2.Height); } \ No newline at end of file From bfa854548360b46c7879ac6989391e2778dfc00f Mon Sep 17 00:00:00 2001 From: sippeangelo Date: Tue, 6 Oct 2015 20:50:05 +0200 Subject: [PATCH 8/8] Visual Studio build now outputs all binaries to the same folder regardless of build configuration --- CMakeLists.txt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d2afd35..0db10d3 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,9 +40,15 @@ set(BOOST_LIBRARYDIR $ENV{BOOST_ROOT}/lib64-msvc-12.0) #add_definitions(-DGLEW_MX) -set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib) -set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin) +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib) +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib) +foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) + string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} ) + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY} ) +endforeach(OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES) add_subdirectory(src/game) add_subdirectory(src/tests)