Merge remote-tracking branch 'origin/master' into Sound

This commit is contained in:
Stiffly
2015-10-21 13:18:42 +02:00
121 changed files with 11835 additions and 4246 deletions
+3
View File
@@ -6,6 +6,8 @@
#include "Core/EventBroker.h"
#include "Core/CTransform.h"
#include "Core/CTemplate.h"
#include "Core/ResourceManager.h"
#include "Core/ConfigFile.h"
#include "Physics/CPhysics.h"
#include "Physics/CCircleShape.h"
#include "Physics/CRectangleShape.h"
@@ -110,6 +112,7 @@ private:
bool m_InkBlockedWaiting = false;
bool m_Restarting = false;
int m_StickyCounter = 3;
bool m_GodMode = false;
bool m_StageBlockedWaiting = false;
+1 -1
View File
@@ -19,7 +19,7 @@ struct Brick : Component
//0 = empty, 1 = normal, 2 = multi-brick, 3 = lifebuoy, 4 = sticky, 5 = blaster, 6 = kraken
int Type = 0;
bool Removed = false;
int Number = 0; // For the Kraken to keep track of which bricks needs replacing.
int Number = 100; // For the Kraken to keep track of which bricks needs replacing.
//What number of types each is.
const int EmptyBrickSpace = 0;
+2 -1
View File
@@ -15,7 +15,8 @@ namespace Components
struct Kraken : Component {
int Health = 10;
int MaxHealth = 30;
int Health = MaxHealth;
int CurrentAction = 1;
const int Idle = 1;
+1 -1
View File
@@ -15,7 +15,7 @@ namespace Components
struct Projectile : Component
{
float Speed = 5;
};
}
+2 -1
View File
@@ -15,7 +15,8 @@ namespace Events
struct BrickGenerating : Event
{
glm::vec3 Origin;
glm::vec3 Origin1;
glm::vec3 Origin2;
int TargetLine;
int Set;
};
+1 -1
View File
@@ -12,7 +12,7 @@ namespace Events
struct ClusterClear : Event
{
int ClusterCleared;
};
}
+1
View File
@@ -17,6 +17,7 @@ struct InkBlaster : Event
{
Components::Transform* Transform;
int Shots;
float Speed = 5;
};
}
+26
View File
@@ -0,0 +1,26 @@
//
// Created by Adniklastrator on 2015-10-19.
//
#ifndef DAYDREAM_EKRAKENDEFEATED_H
#define DAYDREAM_EKRAKENDEFEATED_H
#include "Core/EventBroker.h"
namespace dd
{
namespace Events
{
struct KrakenDefeated : Event
{
EntityID Kraken;
EntityID Hitter;
};
}
}
#endif //DAYDREAM_EKRAKENDEFEATED_H
+29
View File
@@ -0,0 +1,29 @@
//
// Created by Adniklastrator on 2015-10-19.
//
#ifndef DAYDREAM_EKRAKENHIT_H
#define DAYDREAM_EKRAKENHIT_H
#include "Core/EventBroker.h"
namespace dd
{
namespace Events
{
struct KrakenHit : Event
{
EntityID Kraken;
EntityID Hitter;
int MaxHealth;
int CurrentHealth;
int NewHealth;
};
}
}
#endif //DAYDREAM_EKRAKENHIT_H
+1
View File
@@ -16,6 +16,7 @@ namespace Events
struct RaiseWater : Event
{
float Amount;
float Speed;
};
}
+26
View File
@@ -0,0 +1,26 @@
//
// Created by Administrator on 2015-10-20.
//
#ifndef DAYDREAM_ERAISEWATERWALL_H
#define DAYDREAM_ERAISEWATERWALL_H
#include "Core/EventBroker.h"
namespace dd
{
namespace Events
{
struct RaiseWaterWall : Event
{
float Amount;
float Speed;
};
}
}
#endif //DAYDREAM_ERAISEWATERWALL_H
+27
View File
@@ -0,0 +1,27 @@
//
// Created by Administrator on 2015-10-20.
//
#ifndef DAYDREAM_ERELEVANTOBJECTCREATED_H
#define DAYDREAM_ERELEVANTOBJECTCREATED_H
#include "Core/EventBroker.h"
#include "Core/Entity.h"
namespace dd
{
namespace Events
{
struct RelevantObjectCreated : Event
{
std::string ObjectName;
EntityID ObjectID;
};
}
}
#endif //DAYDREAM_ERELEVANTOBJECTCREATED_H
+1
View File
@@ -17,6 +17,7 @@ struct StageCleared : Event
{
int ClearedStage = 0;
int StageCluster = 0;
int StagesInCluster = 6;
};
}
+22
View File
@@ -0,0 +1,22 @@
//
// Created by Administrator on 2015-10-19.
//
#ifndef DAYDREAM_ESTARTEDNEWLEVEL_H
#define DAYDREAM_ESTARTEDNEWLEVEL_H
#include "Core/EventBroker.h"
#include "Core/Entity.h"
namespace dd
{
namespace Events
{
struct StartedNewLevel : Event
{
};
}
}
#endif //DAYDREAM_ESTARTEDNEWLEVEL_H
+5 -5
View File
@@ -76,17 +76,17 @@ private:
{
m_ScoreNumberFrame->SetLeft(Width / 2.f - m_ScoreNumberFrame->Width / 2.f);
m_ScoreBackMid->SetLeft(m_ScoreNumberFrame->Left());
m_ScoreBackMid->Width = m_ScoreNumberFrame->Width;
m_ScoreBackMid->Height = m_ScoreNumberFrame->Height + 35;
m_ScoreBackMid->SetLeft(m_ScoreNumberFrame->Left() + 4);
m_ScoreBackLeft->SetRight(m_ScoreBackMid->Left());
m_ScoreBackLeft->Width = 40;
//m_ScoreBackLeft->Width = 40;
m_ScoreBackLeft->Height = m_ScoreBackMid->Height;
m_ScoreBackLeft->SetRight(m_ScoreBackMid->Left());
m_ScoreBackRight->SetLeft(m_ScoreBackMid->Right());
m_ScoreBackRight->Width = 40;
//m_ScoreBackRight->Width = 40;
m_ScoreBackRight->Height = m_ScoreBackMid->Height;
m_ScoreBackRight->SetLeft(m_ScoreBackMid->Right());
}
bool OnScore(const Events::ScoreEvent& event)
+13 -3
View File
@@ -17,13 +17,18 @@
#include "Physics/CCircleShape.h"
#include "Physics/CPhysics.h"
#include "Physics/EContact.h"
#include "Physics/ESetImpulse.h"
#include "Physics/ECreateParticleSequence.h"
#include "Game/EPause.h"
#include "Game/EResume.h"
#include "Game/EKrakenAppear.h"
#include "Game/EKrakenAttack.h"
#include "Game/EKrakenHit.h"
#include "Game/EKrakenDefeated.h"
#include "Game/EBrickGenerating.h"
#include "Game/CTravels.h"
#include "Game/CKraken.h"
#include "Game/CBall.h"
#include "Sound/CCollisionSound.h"
//#include "Core/Camera.h" Camera Component
@@ -57,24 +62,29 @@ private:
bool m_ReturnToIdle = false;
EntityID m_KrakenTemplate;
std::string m_Action = "Idle";
int m_NumberOfActions;
float m_KrakenTimer = 0;
float m_KrakenSecondsToAction = 1;
float m_KrakenSecondsToAction = 10;
const int Idle = 1;
std::array<int, 14> m_Bricks;
std::array<int, 14> m_Colors;
std::array<int, 42> m_Bricks;
std::array<int, 42> m_Colors;
dd::EventRelay<KrakenSystem, dd::Events::Pause> m_EPause;
dd::EventRelay<KrakenSystem, dd::Events::Resume> m_EResume;
dd::EventRelay<KrakenSystem, dd::Events::Contact> m_EContact;
dd::EventRelay<KrakenSystem, dd::Events::KrakenAppear> m_EKrakenAppear;
dd::EventRelay<KrakenSystem, dd::Events::KrakenAttack> m_EKrakenAttack;
dd::EventRelay<KrakenSystem, dd::Events::KrakenHit> m_EKrakenHit;
dd::EventRelay<KrakenSystem, dd::Events::KrakenDefeated> m_EKrakenDefeated;
dd::EventRelay<KrakenSystem, dd::Events::BrickGenerating> m_EBrickGenerating;
bool OnPause(const dd::Events::Pause &event);
bool OnResume(const dd::Events::Resume &event);
bool OnContact(const dd::Events::Contact &event);
bool OnKrakenAppear(const dd::Events::KrakenAppear &event);
bool OnKrakenAttack(const dd::Events::KrakenAttack &event);
bool OnKrakenHit(const dd::Events::KrakenHit &event);
bool OnKrakenDefeated(const dd::Events::KrakenDefeated &event);
bool OnBrickGenerating(const dd::Events::BrickGenerating &event);
void GetBrickSet();
};
+19 -2
View File
@@ -14,6 +14,8 @@
#include "Core/CTemplate.h"
#include "Core/EventBroker.h"
#include "Core/World.h"
#include "Core/ResourceManager.h"
#include "Core/ConfigFile.h"
#include "Rendering/CSprite.h"
#include "Rendering/CModel.h"
#include "Rendering/CPointLight.h"
@@ -31,7 +33,9 @@
#include "Game/BrickComponents.h"
#include "Game/ERelevantObjectCreated.h"
#include "Game/EStageCleared.h"
#include "Game/EArrivedAtNewStage.h"
#include "Game/ELifeLost.h"
#include "Game/EResetBall.h"
#include "Game/EScoreEvent.h"
@@ -50,7 +54,9 @@
#include "Game/ECreatePowerUp.h"
#include "Game/EPowerUpTaken.h"
#include "Game/CKraken.h"
#include "Game/EKrakenAppear.h"
#include "Game/EKrakenDefeated.h"
#include "Game/EBrickGenerating.h"
#include "Physics/CPhysics.h"
@@ -145,9 +151,11 @@ private:
int m_NumberOfBricks;
int m_Rows = 6;
int m_Lines = 7;
int m_StagesInCluster = 6;
float m_SpaceToEdge = 0.25f;
glm::vec2 m_SpaceBetweenBricks = glm::vec2(1, 0.4);
float m_NotResettingTheStage = 5.f;
bool m_GodMode = false;
const int EmptyBrickSpace = 0;
const int StandardBrick = 1;
@@ -164,8 +172,12 @@ private:
std::array<int, 42> m_Bricks;
std::array<glm::vec4, 42> m_Colors;
std::array<int, 14> m_BrickSet;
std::array<glm::vec4, 14> m_ColorSet;
std::array<int, 42> m_BrickSet;
std::array<glm::vec4, 42> m_ColorSet;
std::array<bool, 42> m_KrakenBricks;
bool m_BrickGenerating = false;
dd::Events::BrickGenerating m_BrickGeneratingEvent;
dd::EventRelay<LevelSystem, dd::Events::Contact> m_EContact;
dd::EventRelay<LevelSystem, dd::Events::ScoreEvent> m_EScoreEvent;
@@ -174,10 +186,12 @@ private:
dd::EventRelay<LevelSystem, dd::Events::CreatePowerUp> m_ECreatePowerUp;
dd::EventRelay<LevelSystem, dd::Events::PowerUpTaken> m_EPowerUpTaken;
dd::EventRelay<LevelSystem, dd::Events::StageCleared> m_EStageCleared;
dd::EventRelay<LevelSystem, dd::Events::ArrivedAtNewStage> m_EArrivedAtNewStage;
dd::EventRelay<LevelSystem, dd::Events::Pause> m_EPause;
dd::EventRelay<LevelSystem, dd::Events::Resume> m_EResume;
dd::EventRelay<LevelSystem, dd::Events::HitPad> m_EHitPad;
dd::EventRelay<LevelSystem, dd::Events::BrickGenerating> m_EBrickGenerating;
dd::EventRelay<LevelSystem, dd::Events::KrakenDefeated> m_EKrakenDefeated;
bool OnContact(const dd::Events::Contact &event);
bool OnScoreEvent(const dd::Events::ScoreEvent &event);
@@ -186,11 +200,14 @@ private:
bool OnCreatePowerUp(const dd::Events::CreatePowerUp &event);
bool OnPowerUpTaken(const dd::Events::PowerUpTaken &event);
bool OnStageCleared(const dd::Events::StageCleared &event);
bool OnArrivedAtNewStage(const dd::Events::ArrivedAtNewStage &event);
bool OnPause(const dd::Events::Pause &event);
bool OnResume(const dd::Events::Resume &event);
bool OnHitPad(const dd::Events::HitPad &event);
bool OnBrickGenerating(const dd::Events::BrickGenerating &event);
bool BrickGenerating(const dd::Events::BrickGenerating &event);
void GetBrickSet(int Set);
bool OnKrakenDefeated(const dd::Events::KrakenDefeated &event);
void GetNextLevel();
void SetBrokenModel(EntityID entity);
+4
View File
@@ -36,6 +36,7 @@
#include "Game/EResetBall.h"
#include "Game/EResetAll.h"
#include "Game/ERaiseWater.h"
#include "Game/ERaiseWaterWall.h"
#include "Game/EMultiBall.h"
#include "Game/ELifebuoy.h"
#include "Game/EStickyPad.h"
@@ -118,6 +119,7 @@ private:
dd::EventRelay<PadSystem, dd::Events::ResetBall> m_EResetBall;
dd::EventRelay<PadSystem, dd::Events::ResetAll> m_EResetAll;
dd::EventRelay<PadSystem, dd::Events::RaiseWater> m_ERaiseWater;
dd::EventRelay<PadSystem, dd::Events::RaiseWaterWall> m_ERaiseWaterWall;
dd::EventRelay<PadSystem, dd::Events::Pause> m_EPause;
dd::EventRelay<PadSystem, dd::Events::Resume> m_EResume;
dd::EventRelay<PadSystem, dd::Events::KrakenAttack> m_EKrakenAttack;
@@ -133,6 +135,8 @@ private:
bool OnResetBall(const dd::Events::ResetBall &event);
bool OnResetAll(const dd::Events::ResetAll &event);
bool OnRaiseWater(const dd::Events::RaiseWater &event);
bool OnRaiseWaterWall(const dd::Events::RaiseWaterWall &event);
bool RaisePad(float amount, float speed);
bool OnPause(const dd::Events::Pause &event);
bool OnResume(const dd::Events::Resume &event);
bool OnKrakenAttack(const dd::Events::KrakenAttack &event);
+2
View File
@@ -23,6 +23,7 @@
#include "Game/EHitPad.h"
#include "Game/CProjectile.h"
#include "Game/CBall.h"
#include "Rendering/CSprite.h"
#include <fstream>
#include <iostream>
@@ -52,6 +53,7 @@ private:
bool m_InkBlaster = false;
bool m_SquidLoaded = false;
int m_Shots = 0;
float m_InkBlasterSpeed = 5;
EntityID m_InkBlastTemplate;
EntityID m_AttachedSquid;
+72
View File
@@ -0,0 +1,72 @@
//
// Created by Adniklastrator on 2015-10-20.
//
#ifndef DAYDREAM_WATERSYSTEM_H
#define DAYDREAM_WATERSYSTEM_H
#include "Core/System.h"
#include "Core/CTransform.h"
#include "Core/CTemplate.h"
#include "Core/EventBroker.h"
#include "Core/World.h"
#include "Transform/EMove.h"
#include "Physics/CWaterVolume.h"
#include "Physics/CRectangleShape.h"
#include "Game/EPause.h"
#include "Game/EResume.h"
#include "Game/ERelevantObjectCreated.h"
#include "Game/ERaiseWater.h"
#include "Game/ERaiseWaterWall.h"
#include "Game/EArrivedAtNewStage.h"
#include "Game/EStageCleared.h"
namespace dd
{
namespace Systems
{
class WaterSystem : public System
{
public:
WaterSystem(World* world, std::shared_ptr<dd::EventBroker> eventBroker)
: System(world, eventBroker)
{ }
void Initialize() override;
void Update(double dt) override;
void UpdateEntity(double dt, EntityID entity, EntityID parent) override;
bool IsPaused() const { return m_Pause; }
void SetPause(const bool& pause) { m_Pause = pause; }
private:
bool m_Pause = false;
EntityID m_BottomWall = 0;
dd::EventRelay<WaterSystem, dd::Events::Pause> m_EPause;
dd::EventRelay<WaterSystem, dd::Events::Resume> m_EResume;
dd::EventRelay<WaterSystem, dd::Events::RelevantObjectCreated> m_ERelevantObjectCreated;
dd::EventRelay<WaterSystem, dd::Events::StageCleared> m_EStageCleared;
dd::EventRelay<WaterSystem, dd::Events::ArrivedAtNewStage> m_EArrivedAtNewStage;
dd::EventRelay<WaterSystem, dd::Events::RaiseWater> m_ERaiseWater;
dd::EventRelay<WaterSystem, dd::Events::RaiseWaterWall> m_ERaiseWaterWall;
bool OnPause(const dd::Events::Pause &event);
bool OnResume(const dd::Events::Resume &event);
bool OnRelevantObjectCreated(const dd::Events::RelevantObjectCreated &event);
bool OnStageCleared(const dd::Events::StageCleared &event);
bool OnArrivedAtNewStage(const dd::Events::ArrivedAtNewStage &event);
bool OnRaiseWater(const dd::Events::RaiseWater &event);
bool OnRaiseWaterWall(const dd::Events::RaiseWaterWall &event);
};
}
}
#endif //DAYDREAM_WATERSYSTEM_H