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);
physics->Static = false;
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;
//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);
physics->Static = true;
physics->Category = CollisionLayer::Type::Wall;
physics->Mask = CollisionLayer::Type::Ball | CollisionLayer::Type::Brick;
physics->Category = CollisionLayer::Wall;
physics->Mask = static_cast<CollisionLayer::Type>(CollisionLayer::Ball | CollisionLayer::Brick);
m_World->CommitEntity(topWall);
}
@@ -335,8 +335,8 @@ public:
std::shared_ptr<Components::Physics> physics = m_World->AddComponent<Components::Physics>(leftWall);
physics->Static = true;
physics->Category = CollisionLayer::Type::Wall;
physics->Mask = CollisionLayer::Type::Ball | CollisionLayer::Type::Brick;
physics->Category = CollisionLayer::Wall;
physics->Mask = static_cast<CollisionLayer::Type>(CollisionLayer::Ball | CollisionLayer::Brick);
m_World->CommitEntity(leftWall);
}
@@ -356,8 +356,8 @@ public:
std::shared_ptr<Components::Physics> physics = m_World->AddComponent<Components::Physics>(rightWall);
physics->Static = true;
physics->Category = CollisionLayer::Type::Wall;
physics->Mask = CollisionLayer::Type::Ball | CollisionLayer::Type::Brick;
physics->Category = CollisionLayer::Wall;
physics->Mask = static_cast<CollisionLayer::Type>(CollisionLayer::Ball | CollisionLayer::Brick);
m_World->CommitEntity(rightWall);
}
@@ -584,6 +584,8 @@ private:
e.IsAmbient = true;
m_EventBroker->Publish(e);
}
return true;
};
double m_LastTime;
};
+1 -1
View File
@@ -194,7 +194,7 @@ public:
// Triggers commit events in systems
// TODO: Replace completely by EComponentCreated?
int CommitEntity(EntityID entity);
void CommitEntity(EntityID entity);
/** Get all components of a specific type.
+2
View File
@@ -1,6 +1,8 @@
#ifndef GUI_FPSCOUNTER_H__
#define GUI_FPSCOUNTER_H__
#include <numeric>
#include "GUI/Frame.h"
#include "GUI/NumberFrame.h"
+1
View File
@@ -59,6 +59,7 @@ private:
bool OnScore(const Events::ScoreEvent& event)
{
m_ScoreNumberFrame->SetNumber(m_ScoreNumberFrame->Number() + event.Score);
return true;
}
};
+38 -38
View File
@@ -7,24 +7,24 @@ namespace dd {
namespace ParticleFlags {
enum Type {
waterParticle = 0,
zombieParticle = 1 << 1,
wallParticle = 1 << 2,
springParticle = 1 << 3,
elasticParticle = 1 << 4,
viscousParticle = 1 << 5,
powderParticle = 1 << 6,
tensileParticle = 1 << 7,
colorMixingParticle = 1 << 8,
destructionListenerParticle = 1 << 9,
barrierParticle = 1 << 10,
staticPressureParticle = 1 << 11,
reactiveParticle = 1 << 12,
repulsiveParticle = 1 << 13,
fixtureContactListenerParticle = 1 << 14,
particleContactListenerParticle = 1 << 15,
fixtureContactFilterParticle = 1 << 16,
particleContactFilterParticle = 1 << 17
Water = 0,
Zombie = 1 << 1,
Wall = 1 << 2,
Spring = 1 << 3,
Elastic = 1 << 4,
Viscous = 1 << 5,
Powder = 1 << 6,
Tensile = 1 << 7,
ColorMixing = 1 << 8,
DestructionListener = 1 << 9,
Barrier = 1 << 10,
StaticPressure = 1 << 11,
Reactive = 1 << 12,
Repulsive = 1 << 13,
FixtureContactListener = 1 << 14,
ParticleContactListener = 1 << 15,
FixtureContactFilter = 1 << 16,
ParticleContactFilter = 1 << 17
};
}
@@ -36,26 +36,26 @@ struct Particle : public Component
float Radius = 0.5f;
float LifeTime = 5.0f;
ParticleFlags::Type Flags =
ParticleFlags::Type::waterParticle |
ParticleFlags::Type::zombieParticle |
ParticleFlags::Type::wallParticle |
ParticleFlags::Type::springParticle |
ParticleFlags::Type::elasticParticle |
ParticleFlags::Type::viscousParticle |
ParticleFlags::Type::powderParticle |
ParticleFlags::Type::tensileParticle |
ParticleFlags::Type::colorMixingParticle |
ParticleFlags::Type::destructionListenerParticle |
ParticleFlags::Type::barrierParticle |
ParticleFlags::Type::staticPressureParticle |
ParticleFlags::Type::reactiveParticle |
ParticleFlags::Type::repulsiveParticle |
ParticleFlags::Type::fixtureContactListenerParticle |
ParticleFlags::Type::particleContactListenerParticle |
ParticleFlags::Type::fixtureContactFilterParticle |
ParticleFlags::Type::particleContactFilterParticle;
ParticleFlags::Type Flags = static_cast<ParticleFlags::Type>(
ParticleFlags::Water
| ParticleFlags::Zombie
| ParticleFlags::Wall
| ParticleFlags::Spring
| ParticleFlags::Elastic
| ParticleFlags::Viscous
| ParticleFlags::Powder
| ParticleFlags::Tensile
| ParticleFlags::ColorMixing
| ParticleFlags::DestructionListener
| ParticleFlags::Barrier
| ParticleFlags::StaticPressure
| ParticleFlags::Reactive
| ParticleFlags::Repulsive
| ParticleFlags::FixtureContactListener
| ParticleFlags::ParticleContactListener
| ParticleFlags::FixtureContactFilter
| ParticleFlags::ParticleContactFilter
);
};
}
+9 -8
View File
@@ -27,14 +27,15 @@ struct Physics: public Component
bool Calculate = false;
float GravityScale = 0.f;
CollisionLayer::Type Category = CollisionLayer::Type::Other;
CollisionLayer::Type Mask =
CollisionLayer::Type::Pad |
CollisionLayer::Type::Ball |
CollisionLayer::Type::Brick |
CollisionLayer::Type::Water |
CollisionLayer::Type::PowerUp |
CollisionLayer::Type::Wall |
CollisionLayer::Type::Other;
CollisionLayer::Type Mask = static_cast<CollisionLayer::Type>(
CollisionLayer::Pad
| CollisionLayer::Ball
| CollisionLayer::Brick
| CollisionLayer::Water
| CollisionLayer::PowerUp
| CollisionLayer::Wall
| CollisionLayer::Other
);
};
}
+2 -2
View File
@@ -86,7 +86,7 @@ private:
struct ParticleEmitter
{
std::vector<b2ParticleSystem*> ParticleSystem;
std::vector<EntityID> ParticleEmitter;
std::vector<EntityID> Emitter;
std::vector<EntityID> ParticleTemplate;
};
ParticleEmitter m_ParticleEmitters;
@@ -95,7 +95,7 @@ private:
struct Impulse
{
b2Body* Body;
b2Vec2 Impulse;
b2Vec2 Vector;
b2Vec2 Point;
};
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)
{
+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);
physics->Static = false;
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;
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);
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 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);
physics->Static = false;
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;
auto cModel = m_World->AddComponent<Components::Model>(ent);
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);
*/
return false;
}
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;
i.Body = body;
i.Impulse = impulse;
i.Vector = impulse;
i.Point = point;
m_Impulses.push_back(i);
@@ -102,7 +102,7 @@ void dd::Systems::PhysicsSystem::Update(double dt) {
UpdateParticleEmitters(dt);
for (auto i : m_Impulses) {
i.Body->ApplyLinearImpulse(i.Impulse, i.Point, true);
i.Body->ApplyLinearImpulse(i.Vector, i.Point, true);
}
m_Impulses.clear();
@@ -150,7 +150,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);
@@ -337,7 +337,7 @@ 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 e = m_ParticleEmitters.Emitter[i];
auto pt = m_ParticleEmitters.ParticleTemplate[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;
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);
}