MSVC12 compiler compability fixes

This commit is contained in:
2015-10-06 15:27:11 +02:00
parent 6feb587380
commit 7173fdf396
12 changed files with 72 additions and 65 deletions
+9 -7
View File
@@ -150,7 +150,7 @@ public:
std::shared_ptr<Components::Physics> physics = m_World->AddComponent<Components::Physics>(ent); std::shared_ptr<Components::Physics> physics = m_World->AddComponent<Components::Physics>(ent);
physics->Static = false; physics->Static = false;
physics->Category = CollisionLayer::Type::Ball; physics->Category = CollisionLayer::Type::Ball;
physics->Mask = CollisionLayer::Type::Pad | CollisionLayer::Type::Brick | CollisionLayer::Type::Wall; physics->Mask = static_cast<CollisionLayer::Type>(CollisionLayer::Pad | CollisionLayer::Brick | CollisionLayer::Wall);
physics->Calculate = true; physics->Calculate = true;
//auto plight = m_World->AddComponent<Components::PointLight>(ent); //auto plight = m_World->AddComponent<Components::PointLight>(ent);
@@ -314,8 +314,8 @@ public:
std::shared_ptr<Components::Physics> physics = m_World->AddComponent<Components::Physics>(topWall); std::shared_ptr<Components::Physics> physics = m_World->AddComponent<Components::Physics>(topWall);
physics->Static = true; physics->Static = true;
physics->Category = CollisionLayer::Type::Wall; physics->Category = CollisionLayer::Wall;
physics->Mask = CollisionLayer::Type::Ball | CollisionLayer::Type::Brick; physics->Mask = static_cast<CollisionLayer::Type>(CollisionLayer::Ball | CollisionLayer::Brick);
m_World->CommitEntity(topWall); m_World->CommitEntity(topWall);
} }
@@ -335,8 +335,8 @@ public:
std::shared_ptr<Components::Physics> physics = m_World->AddComponent<Components::Physics>(leftWall); std::shared_ptr<Components::Physics> physics = m_World->AddComponent<Components::Physics>(leftWall);
physics->Static = true; physics->Static = true;
physics->Category = CollisionLayer::Type::Wall; physics->Category = CollisionLayer::Wall;
physics->Mask = CollisionLayer::Type::Ball | CollisionLayer::Type::Brick; physics->Mask = static_cast<CollisionLayer::Type>(CollisionLayer::Ball | CollisionLayer::Brick);
m_World->CommitEntity(leftWall); m_World->CommitEntity(leftWall);
} }
@@ -356,8 +356,8 @@ public:
std::shared_ptr<Components::Physics> physics = m_World->AddComponent<Components::Physics>(rightWall); std::shared_ptr<Components::Physics> physics = m_World->AddComponent<Components::Physics>(rightWall);
physics->Static = true; physics->Static = true;
physics->Category = CollisionLayer::Type::Wall; physics->Category = CollisionLayer::Wall;
physics->Mask = CollisionLayer::Type::Ball | CollisionLayer::Type::Brick; physics->Mask = static_cast<CollisionLayer::Type>(CollisionLayer::Ball | CollisionLayer::Brick);
m_World->CommitEntity(rightWall); m_World->CommitEntity(rightWall);
} }
@@ -584,6 +584,8 @@ private:
e.IsAmbient = true; e.IsAmbient = true;
m_EventBroker->Publish(e); m_EventBroker->Publish(e);
} }
return true;
}; };
double m_LastTime; double m_LastTime;
}; };
+1 -1
View File
@@ -194,7 +194,7 @@ public:
// Triggers commit events in systems // Triggers commit events in systems
// TODO: Replace completely by EComponentCreated? // TODO: Replace completely by EComponentCreated?
int CommitEntity(EntityID entity); void CommitEntity(EntityID entity);
/** Get all components of a specific type. /** Get all components of a specific type.
+2
View File
@@ -1,6 +1,8 @@
#ifndef GUI_FPSCOUNTER_H__ #ifndef GUI_FPSCOUNTER_H__
#define GUI_FPSCOUNTER_H__ #define GUI_FPSCOUNTER_H__
#include <numeric>
#include "GUI/Frame.h" #include "GUI/Frame.h"
#include "GUI/NumberFrame.h" #include "GUI/NumberFrame.h"
+1
View File
@@ -59,6 +59,7 @@ private:
bool OnScore(const Events::ScoreEvent& event) bool OnScore(const Events::ScoreEvent& event)
{ {
m_ScoreNumberFrame->SetNumber(m_ScoreNumberFrame->Number() + event.Score); m_ScoreNumberFrame->SetNumber(m_ScoreNumberFrame->Number() + event.Score);
return true;
} }
}; };
+38 -38
View File
@@ -7,24 +7,24 @@ namespace dd {
namespace ParticleFlags { namespace ParticleFlags {
enum Type { enum Type {
waterParticle = 0, Water = 0,
zombieParticle = 1 << 1, Zombie = 1 << 1,
wallParticle = 1 << 2, Wall = 1 << 2,
springParticle = 1 << 3, Spring = 1 << 3,
elasticParticle = 1 << 4, Elastic = 1 << 4,
viscousParticle = 1 << 5, Viscous = 1 << 5,
powderParticle = 1 << 6, Powder = 1 << 6,
tensileParticle = 1 << 7, Tensile = 1 << 7,
colorMixingParticle = 1 << 8, ColorMixing = 1 << 8,
destructionListenerParticle = 1 << 9, DestructionListener = 1 << 9,
barrierParticle = 1 << 10, Barrier = 1 << 10,
staticPressureParticle = 1 << 11, StaticPressure = 1 << 11,
reactiveParticle = 1 << 12, Reactive = 1 << 12,
repulsiveParticle = 1 << 13, Repulsive = 1 << 13,
fixtureContactListenerParticle = 1 << 14, FixtureContactListener = 1 << 14,
particleContactListenerParticle = 1 << 15, ParticleContactListener = 1 << 15,
fixtureContactFilterParticle = 1 << 16, FixtureContactFilter = 1 << 16,
particleContactFilterParticle = 1 << 17 ParticleContactFilter = 1 << 17
}; };
} }
@@ -36,26 +36,26 @@ struct Particle : public Component
float Radius = 0.5f; float Radius = 0.5f;
float LifeTime = 5.0f; float LifeTime = 5.0f;
ParticleFlags::Type Flags = ParticleFlags::Type Flags = static_cast<ParticleFlags::Type>(
ParticleFlags::Type::waterParticle | ParticleFlags::Water
ParticleFlags::Type::zombieParticle | | ParticleFlags::Zombie
ParticleFlags::Type::wallParticle | | ParticleFlags::Wall
ParticleFlags::Type::springParticle | | ParticleFlags::Spring
ParticleFlags::Type::elasticParticle | | ParticleFlags::Elastic
ParticleFlags::Type::viscousParticle | | ParticleFlags::Viscous
ParticleFlags::Type::powderParticle | | ParticleFlags::Powder
ParticleFlags::Type::tensileParticle | | ParticleFlags::Tensile
ParticleFlags::Type::colorMixingParticle | | ParticleFlags::ColorMixing
ParticleFlags::Type::destructionListenerParticle | | ParticleFlags::DestructionListener
ParticleFlags::Type::barrierParticle | | ParticleFlags::Barrier
ParticleFlags::Type::staticPressureParticle | | ParticleFlags::StaticPressure
ParticleFlags::Type::reactiveParticle | | ParticleFlags::Reactive
ParticleFlags::Type::repulsiveParticle | | ParticleFlags::Repulsive
ParticleFlags::Type::fixtureContactListenerParticle | | ParticleFlags::FixtureContactListener
ParticleFlags::Type::particleContactListenerParticle | | ParticleFlags::ParticleContactListener
ParticleFlags::Type::fixtureContactFilterParticle | | ParticleFlags::FixtureContactFilter
ParticleFlags::Type::particleContactFilterParticle; | ParticleFlags::ParticleContactFilter
);
}; };
} }
+9 -8
View File
@@ -27,14 +27,15 @@ struct Physics: public Component
bool Calculate = false; bool Calculate = false;
float GravityScale = 0.f; float GravityScale = 0.f;
CollisionLayer::Type Category = CollisionLayer::Type::Other; CollisionLayer::Type Category = CollisionLayer::Type::Other;
CollisionLayer::Type Mask = CollisionLayer::Type Mask = static_cast<CollisionLayer::Type>(
CollisionLayer::Type::Pad | CollisionLayer::Pad
CollisionLayer::Type::Ball | | CollisionLayer::Ball
CollisionLayer::Type::Brick | | CollisionLayer::Brick
CollisionLayer::Type::Water | | CollisionLayer::Water
CollisionLayer::Type::PowerUp | | CollisionLayer::PowerUp
CollisionLayer::Type::Wall | | CollisionLayer::Wall
CollisionLayer::Type::Other; | CollisionLayer::Other
);
}; };
} }
+2 -2
View File
@@ -86,7 +86,7 @@ private:
struct ParticleEmitter struct ParticleEmitter
{ {
std::vector<b2ParticleSystem*> ParticleSystem; std::vector<b2ParticleSystem*> ParticleSystem;
std::vector<EntityID> ParticleEmitter; std::vector<EntityID> Emitter;
std::vector<EntityID> ParticleTemplate; std::vector<EntityID> ParticleTemplate;
}; };
ParticleEmitter m_ParticleEmitters; ParticleEmitter m_ParticleEmitters;
@@ -95,7 +95,7 @@ private:
struct Impulse struct Impulse
{ {
b2Body* Body; b2Body* Body;
b2Vec2 Impulse; b2Vec2 Vector;
b2Vec2 Point; b2Vec2 Point;
}; };
std::list<Impulse> m_Impulses; std::list<Impulse> m_Impulses;
+1 -1
View File
@@ -163,7 +163,7 @@ void dd::World::Initialize()
} }
} }
int dd::World::CommitEntity(EntityID entity) void dd::World::CommitEntity(EntityID entity)
{ {
for (auto pair : m_Systems) for (auto pair : m_Systems)
{ {
+1 -1
View File
@@ -33,7 +33,7 @@ void dd::Systems::BallSystem::Initialize()
std::shared_ptr<Components::Template> ballTemplate = m_World->AddComponent<Components::Template>(ent); std::shared_ptr<Components::Template> ballTemplate = m_World->AddComponent<Components::Template>(ent);
physics->Static = false; physics->Static = false;
physics->Category = CollisionLayer::Type::Ball; physics->Category = CollisionLayer::Type::Ball;
physics->Mask = CollisionLayer::Type::Pad | CollisionLayer::Type::Brick | CollisionLayer::Type::Wall; physics->Mask = static_cast<CollisionLayer::Type>(CollisionLayer::Pad | CollisionLayer::Brick | CollisionLayer::Wall);
physics->Calculate = true; physics->Calculate = true;
m_World->CommitEntity(ent); m_World->CommitEntity(ent);
+1 -1
View File
@@ -203,7 +203,7 @@ bool dd::Systems::LevelSystem::OnContact(const dd::Events::Contact &event)
auto physicsComponent = m_World->GetComponent<Components::Physics>(entityBrick); auto physicsComponent = m_World->GetComponent<Components::Physics>(entityBrick);
physicsComponent->GravityScale = 1.f; physicsComponent->GravityScale = 1.f;
physicsComponent->Mask = CollisionLayer::Type::Water | CollisionLayer::Type::Wall; physicsComponent->Mask = static_cast<CollisionLayer::Type>(CollisionLayer::Water | CollisionLayer::Wall);
auto transformComponentBrick = m_World->GetComponent<Components::Transform>(entityBrick); auto transformComponentBrick = m_World->GetComponent<Components::Transform>(entityBrick);
auto transformComponentBall = m_World->GetComponent<Components::Transform>(entityBall); auto transformComponentBall = m_World->GetComponent<Components::Transform>(entityBall);
+2 -1
View File
@@ -38,7 +38,7 @@ void dd::Systems::PadSystem::Initialize()
auto physics = m_World->AddComponent<Components::Physics>(ent); auto physics = m_World->AddComponent<Components::Physics>(ent);
physics->Static = false; physics->Static = false;
physics->Category = CollisionLayer::Type::Pad; physics->Category = CollisionLayer::Type::Pad;
physics->Mask = CollisionLayer::Type::Ball | CollisionLayer::Type::PowerUp; physics->Mask = static_cast<CollisionLayer::Type>(CollisionLayer::Ball | CollisionLayer::PowerUp);
physics->Calculate = true; physics->Calculate = true;
auto cModel = m_World->AddComponent<Components::Model>(ent); auto cModel = m_World->AddComponent<Components::Model>(ent);
cModel->ModelFile = "Models/Submarine2.obj"; cModel->ModelFile = "Models/Submarine2.obj";
@@ -191,6 +191,7 @@ bool dd::Systems::PadSystem::OnContact(const dd::Events::Contact &event)
//transform->Velocity = glm::vec3(movementX, movementY, 0.f); //transform->Velocity = glm::vec3(movementX, movementY, 0.f);
*/ */
return false;
} }
bool dd::Systems::PadSystem::OnContactPowerUp(const dd::Events::Contact &event) bool dd::Systems::PadSystem::OnContactPowerUp(const dd::Events::Contact &event)
+5 -5
View File
@@ -49,7 +49,7 @@ bool dd::Systems::PhysicsSystem::SetImpulse(const Events::SetImpulse &event)
Impulse i; Impulse i;
i.Body = body; i.Body = body;
i.Impulse = impulse; i.Vector = impulse;
i.Point = point; i.Point = point;
m_Impulses.push_back(i); m_Impulses.push_back(i);
@@ -102,7 +102,7 @@ void dd::Systems::PhysicsSystem::Update(double dt) {
UpdateParticleEmitters(dt); UpdateParticleEmitters(dt);
for (auto i : m_Impulses) { for (auto i : m_Impulses) {
i.Body->ApplyLinearImpulse(i.Impulse, i.Point, true); i.Body->ApplyLinearImpulse(i.Vector, i.Point, true);
} }
m_Impulses.clear(); m_Impulses.clear();
@@ -150,7 +150,7 @@ void dd::Systems::PhysicsSystem::Update(double dt) {
b2Vec2 *positionBuffer = m_ParticleSystem[e]->GetPositionBuffer(); b2Vec2 *positionBuffer = m_ParticleSystem[e]->GetPositionBuffer();
for (auto i : m_EntitiesToParticleHandle[e]){ for (auto i : m_EntitiesToParticleHandle[e]){
EntityID entity = i.first; EntityID entity = i.first;
b2ParticleHandle *particleH = i.second; const b2ParticleHandle *particleH = i.second;
b2Vec2 positionB2 = positionBuffer[particleH->GetIndex()]; b2Vec2 positionB2 = positionBuffer[particleH->GetIndex()];
glm::vec2 position = glm::vec2(positionB2.x, positionB2.y); glm::vec2 position = glm::vec2(positionB2.x, positionB2.y);
@@ -337,7 +337,7 @@ void dd::Systems::PhysicsSystem::CreateParticleGroup(EntityID e)
void dd::Systems::PhysicsSystem::UpdateParticleEmitters(double dt) void dd::Systems::PhysicsSystem::UpdateParticleEmitters(double dt)
{ {
for (int i = 0; i < m_ParticleEmitters.ParticleSystem.size(); i++) { for (int i = 0; i < m_ParticleEmitters.ParticleSystem.size(); i++) {
auto e = m_ParticleEmitters.ParticleEmitter[i]; auto e = m_ParticleEmitters.Emitter[i];
auto pt = m_ParticleEmitters.ParticleTemplate[i]; auto pt = m_ParticleEmitters.ParticleTemplate[i];
auto ps = m_ParticleEmitters.ParticleSystem[i]; auto ps = m_ParticleEmitters.ParticleSystem[i];
@@ -407,7 +407,7 @@ void dd::Systems::PhysicsSystem::CreateParticleEmitter(EntityID entity)
} }
//TODO: Skicka med fler flaggor till particlesystemet; //TODO: Skicka med fler flaggor till particlesystemet;
m_ParticleEmitters.ParticleSystem.push_back(CreateParticleSystem(particle->Radius, 0.f)); m_ParticleEmitters.ParticleSystem.push_back(CreateParticleSystem(particle->Radius, 0.f));
m_ParticleEmitters.ParticleEmitter.push_back(entity); m_ParticleEmitters.Emitter.push_back(entity);
m_ParticleEmitters.ParticleTemplate.push_back(childEntity); m_ParticleEmitters.ParticleTemplate.push_back(childEntity);
} }