refactor: format project

This commit is contained in:
2021-11-21 17:02:42 +01:00
parent 0f328e6f81
commit f48af51dc7
36 changed files with 162 additions and 162 deletions

View File

@@ -61,7 +61,7 @@ public:
std::uint16_t getMaxLife() const { return m_MaxLife; } std::uint16_t getMaxLife() const { return m_MaxLife; }
}; };
struct EffectDuration{ struct EffectDuration {
EffectType type; EffectType type;
float duration; // in seconds float duration; // in seconds
const Tower* tower; // the tower that gived the effect const Tower* tower; // the tower that gived the effect
@@ -88,7 +88,7 @@ private:
float m_X = 0, m_Y = 0; float m_X = 0, m_Y = 0;
public: public:
Mob(MobID id, MobLevel level, PlayerID sender) : m_Sender(sender), m_Level(level), Mob(MobID id, MobLevel level, PlayerID sender) : m_Sender(sender), m_Level(level),
m_EffectFireTimer(1000), m_EffectPoisonTimer(1000), m_EffectHealTimer(1000) { m_EffectFireTimer(1000), m_EffectPoisonTimer(1000), m_EffectHealTimer(1000) {
} }
@@ -97,7 +97,7 @@ public:
virtual void tick(std::uint64_t delta); virtual void tick(std::uint64_t delta);
virtual void OnDeath(World* world){} virtual void OnDeath(World* world) {}
const TowerImmunities& getTowerImmunities() const { return getMobTowerImmunities(getType(), m_Level); } const TowerImmunities& getTowerImmunities() const { return getMobTowerImmunities(getType(), m_Level); }
const EffectImmunities& getEffectImmunities() const { return getMobEffectImmunities(getType(), m_Level); } const EffectImmunities& getEffectImmunities() const { return getMobEffectImmunities(getType(), m_Level); }

View File

@@ -22,7 +22,7 @@ private:
bool m_GoldChanged; bool m_GoldChanged;
bool m_ExpChanged; bool m_ExpChanged;
public: public:
Player(std::uint8_t id = 0) : m_TeamColor(game::TeamColor::None), m_Gold(0), m_Exp(0), m_ID(id), m_GoldPerSecond(5), Player(std::uint8_t id = 0) : m_TeamColor(game::TeamColor::None), m_Gold(0), m_Exp(0), m_ID(id), m_GoldPerSecond(5),
m_GoldChanged(false), m_ExpChanged(false) {} m_GoldChanged(false), m_ExpChanged(false) {}
const std::string& getName() const { return m_Name; } const std::string& getName() const { return m_Name; }
@@ -34,7 +34,7 @@ public:
std::uint8_t getGoldPerSecond() const { return m_GoldPerSecond; } std::uint8_t getGoldPerSecond() const { return m_GoldPerSecond; }
void setGoldPerSecond(std::uint8_t goldPerSecond) { m_GoldPerSecond = goldPerSecond; } void setGoldPerSecond(std::uint8_t goldPerSecond) { m_GoldPerSecond = goldPerSecond; }
std::uint32_t getGold() const { return m_Gold;} std::uint32_t getGold() const { return m_Gold; }
void setGold(std::uint32_t gold) { m_GoldChanged = true; m_Gold = gold; } void setGold(std::uint32_t gold) { m_GoldChanged = true; m_Gold = gold; }
void addGold(std::uint32_t gold) { m_GoldChanged = true; m_Gold += gold; } void addGold(std::uint32_t gold) { m_GoldChanged = true; m_Gold += gold; }
void removeGold(std::uint32_t gold) { m_GoldChanged = true; m_Gold -= gold; } void removeGold(std::uint32_t gold) { m_GoldChanged = true; m_Gold -= gold; }

View File

@@ -18,7 +18,7 @@ enum class Architecture {
Unknown, Unknown,
}; };
inline Os getSystemOs(){ inline Os getSystemOs() {
#if defined(_WIN32) || defined(_WIN64) #if defined(_WIN32) || defined(_WIN64)
return Os::Windows; return Os::Windows;
#elif defined(__ANDROID__) #elif defined(__ANDROID__)
@@ -26,12 +26,12 @@ inline Os getSystemOs(){
#elif defined(__unix__) #elif defined(__unix__)
return Os::Linux; return Os::Linux;
#else #else
#pragma message ("Target OS unknown or unsupported !") #pragma message ("Target OS unknown or unsupported !")
return Os::Unknown; return Os::Unknown;
#endif #endif
} }
inline Architecture getSystemArchitecture(){ inline Architecture getSystemArchitecture() {
#if defined(_WIN64) #if defined(_WIN64)
return Architecture::x86_64; return Architecture::x86_64;
#elif defined(_WIN32) #elif defined(_WIN32)
@@ -45,7 +45,7 @@ inline Architecture getSystemArchitecture(){
#elif defined(__arm__) || defined(_M_ARM) #elif defined(__arm__) || defined(_M_ARM)
return Architecture::Armhf; return Architecture::Armhf;
#else #else
#pragma message ("Target CPU architecture unknown or unsupported !") #pragma message ("Target CPU architecture unknown or unsupported !")
return Architecture::Unknown; return Architecture::Unknown;
#endif #endif
} }

View File

@@ -6,7 +6,7 @@ namespace td {
namespace utils { namespace utils {
template<typename NumberType> template<typename NumberType>
NumberType getRandomInt(NumberType min, NumberType max){ NumberType getRandomInt(NumberType min, NumberType max) {
std::random_device randomDevice; std::random_device randomDevice;
std::mt19937 generator(randomDevice()); std::mt19937 generator(randomDevice());
std::uniform_int_distribution<NumberType> distrib(min, max); std::uniform_int_distribution<NumberType> distrib(min, max);
@@ -14,7 +14,7 @@ NumberType getRandomInt(NumberType min, NumberType max){
} }
template<typename NumberType> template<typename NumberType>
NumberType getRandomReal(NumberType min, NumberType max){ NumberType getRandomReal(NumberType min, NumberType max) {
std::random_device randomDevice; std::random_device randomDevice;
std::mt19937 generator(randomDevice()); std::mt19937 generator(randomDevice());
std::uniform_real_distribution<NumberType> distrib(min, max); std::uniform_real_distribution<NumberType> distrib(min, max);

View File

@@ -64,7 +64,7 @@ public:
bool update(std::uint64_t delta); bool update(std::uint64_t delta);
void applyCooldown(); void applyCooldown();
void reset(); void reset();

View File

@@ -30,11 +30,11 @@ public:
float getDownloadProgress() { return m_Progress; } float getDownloadProgress() { return m_Progress; }
bool isDownloadComplete() { return m_DownloadComplete; } bool isDownloadComplete() { return m_DownloadComplete; }
bool isFileWrited() { return m_FileWrited; } bool isFileWrited() { return m_FileWrited; }
static std::string getLocalFilePath(); static std::string getLocalFilePath();
static void removeOldFile(); static void removeOldFile();
static std::string getCurrentVersion(){ return TD_VERSION; } static std::string getCurrentVersion() { return TD_VERSION; }
std::string getLastVersion() { return m_LastVersion; } std::string getLastVersion() { return m_LastVersion; }
bool canUpdate(); bool canUpdate();

View File

@@ -37,7 +37,7 @@ private:
float m_CamSensibility = 1; float m_CamSensibility = 1;
bool m_PopupOpened = false; bool m_PopupOpened = false;
VertexCache m_TowersCache; VertexCache m_TowersCache;
std::unique_ptr<gui::TowerPlacePopup> m_TowerPlacePopup; std::unique_ptr<gui::TowerPlacePopup> m_TowerPlacePopup;
std::unique_ptr<gui::MobTooltip> m_MobTooltip; std::unique_ptr<gui::MobTooltip> m_MobTooltip;
public: public:

View File

@@ -12,13 +12,13 @@ class GuiManager {
private: private:
std::vector<std::shared_ptr<GuiWidget>> m_Widgets; std::vector<std::shared_ptr<GuiWidget>> m_Widgets;
public: public:
void renderWidgets(){ void renderWidgets() {
for(auto widget : m_Widgets){ for (auto widget : m_Widgets) {
widget->render(); widget->render();
} }
} }
void addWidgets(const std::shared_ptr<GuiWidget>& widget){ void addWidgets(const std::shared_ptr<GuiWidget>& widget) {
m_Widgets.push_back(std::move(widget)); m_Widgets.push_back(std::move(widget));
} }
}; };

View File

@@ -7,7 +7,7 @@ namespace td {
namespace game { namespace game {
class Mob; class Mob;
} // namespace game } // namespace game
namespace gui { namespace gui {

View File

@@ -8,7 +8,7 @@
namespace td { namespace td {
namespace gui { namespace gui {
class SummonMenu : public GuiWidget{ class SummonMenu : public GuiWidget {
private: private:
bool m_MenuOpened; bool m_MenuOpened;
int m_ImageWidth = 100; int m_ImageWidth = 100;

View File

@@ -10,7 +10,7 @@
#include <memory> #include <memory>
struct SDL_Window; struct SDL_Window;
typedef void *SDL_GLContext; typedef void* SDL_GLContext;
namespace td { namespace td {
@@ -26,7 +26,7 @@ class MainMenu;
class GameMenu; class GameMenu;
class FrameMenu; class FrameMenu;
class UpdateMenu; class UpdateMenu;
} // namespace gui } // namespace gui
namespace render { namespace render {

View File

@@ -14,7 +14,7 @@ bool Mob::isImmuneTo(EffectType type) {
return std::find(getEffectImmunities().begin(), getEffectImmunities().end(), type) != getEffectImmunities().end(); return std::find(getEffectImmunities().begin(), getEffectImmunities().end(), type) != getEffectImmunities().end();
} }
EffectDuration& Mob::getEffect(EffectType effectType){ EffectDuration& Mob::getEffect(EffectType effectType) {
return *std::find_if(m_Effects.begin(), m_Effects.end(), [&effectType](EffectDuration effect) { return effect.type == effectType;}); return *std::find_if(m_Effects.begin(), m_Effects.end(), [&effectType](EffectDuration effect) { return effect.type == effectType;});
} }
@@ -39,40 +39,40 @@ void Mob::updateEffects(std::uint64_t delta) {
for (std::size_t i = 0; i < m_Effects.size(); i++) { for (std::size_t i = 0; i < m_Effects.size(); i++) {
EffectDuration& effect = m_Effects[i]; EffectDuration& effect = m_Effects[i];
effect.duration -= deltaSec; effect.duration -= deltaSec;
if (effect.duration < 0){ // effect has gone if (effect.duration < 0) { // effect has gone
m_Effects.erase(m_Effects.begin() + i); m_Effects.erase(m_Effects.begin() + i);
switch(effect.type){ switch (effect.type) {
case EffectType::Fire:{ case EffectType::Fire: {
m_EffectFireTimer.reset(); m_EffectFireTimer.reset();
break; break;
} }
case EffectType::Poison:{ case EffectType::Poison: {
m_EffectPoisonTimer.reset(); m_EffectPoisonTimer.reset();
break; break;
} }
case EffectType::Heal:{ case EffectType::Heal: {
m_EffectHealTimer.reset(); m_EffectHealTimer.reset();
} }
default: default:
break; break;
} }
} }
} }
if(hasEffect(EffectType::Fire)){ if (hasEffect(EffectType::Fire)) {
if(m_EffectFireTimer.update(delta)){ if (m_EffectFireTimer.update(delta)) {
damage(3, getEffect(EffectType::Fire).tower); damage(3, getEffect(EffectType::Fire).tower);
} }
} }
if(hasEffect(EffectType::Poison)){ if (hasEffect(EffectType::Poison)) {
if(m_EffectPoisonTimer.update(delta)){ if (m_EffectPoisonTimer.update(delta)) {
damage(1, getEffect(EffectType::Poison).tower); damage(1, getEffect(EffectType::Poison).tower);
} }
} }
if(hasEffect(EffectType::Heal)){ if (hasEffect(EffectType::Heal)) {
if(m_EffectFireTimer.update(delta)){ if (m_EffectFireTimer.update(delta)) {
heal(10); heal(10);
} }
} }
@@ -305,30 +305,30 @@ MobPtr MobFactory::createMob(MobID id, MobType type, std::uint8_t level, PlayerI
return mobFactory[type](id, level, sender); return mobFactory[type](id, level, sender);
} }
std::string MobFactory::getMobName(MobType type){ std::string MobFactory::getMobName(MobType type) {
switch(type){ switch (type) {
case MobType::Zombie: case MobType::Zombie:
return "Zombie"; return "Zombie";
case MobType::Spider: case MobType::Spider:
return "Spider"; return "Spider";
case MobType::Skeleton: case MobType::Skeleton:
return "Skeleton"; return "Skeleton";
case MobType::Pigman: case MobType::Pigman:
return "Pigman"; return "Pigman";
case MobType::Creeper: case MobType::Creeper:
return "Creeper"; return "Creeper";
case MobType::Silverfish: case MobType::Silverfish:
return "Silverfish"; return "Silverfish";
case MobType::Blaze: case MobType::Blaze:
return "Blaze"; return "Blaze";
case MobType::Witch: case MobType::Witch:
return "Witch"; return "Witch";
case MobType::Slime: case MobType::Slime:
return "Slime"; return "Slime";
case MobType::Giant: case MobType::Giant:
return "Giant"; return "Giant";
default: default:
return "Unknow"; return "Unknow";
} }
} }

View File

@@ -116,8 +116,8 @@ const std::map<std::pair<TowerType, TowerLevel>, TowerStats> TowerConstants = {
}; };
const TowerStats* getTowerStats(TowerType type, TowerLevel level) { const TowerStats* getTowerStats(TowerType type, TowerLevel level) {
auto it = TowerConstants.find({type, level}); auto it = TowerConstants.find({ type, level });
if(it == TowerConstants.end()) return nullptr; if (it == TowerConstants.end()) return nullptr;
return &it->second; return &it->second;
} }
@@ -251,30 +251,30 @@ void PoisonTower::tick(std::uint64_t delta, World* world) {
if (m_Timer.update(delta)) { if (m_Timer.update(delta)) {
for (MobPtr mob : world->getMobList()) { for (MobPtr mob : world->getMobList()) {
if (isMobInRange(mob)) { if (isMobInRange(mob)) {
if(getLevel().getPath() == TowerPath::Bottom){ if (getLevel().getPath() == TowerPath::Bottom) {
mob->damage(getStats()->getDamage(), this); mob->damage(getStats()->getDamage(), this);
}else{ } else {
float durationSec; float durationSec;
switch(getLevel().getLevel()){ switch (getLevel().getLevel()) {
case 1: case 1:
durationSec = 5; durationSec = 5;
break; break;
case 2: case 2:
durationSec = 15; durationSec = 15;
break; break;
case 3: case 3:
durationSec = 30; durationSec = 30;
break; break;
case 4: case 4:
durationSec = 1e10; // about 3 million hours. It should be enough durationSec = 1e10; // about 3 million hours. It should be enough
break; break;
default: default:
durationSec = 0; // how did we get there ? durationSec = 0; // how did we get there ?
break; break;
} }
mob->addEffect(EffectType::Poison, durationSec, this); mob->addEffect(EffectType::Poison, durationSec, this);
} }

View File

@@ -278,7 +278,7 @@ TowerPtr World::getTower(const glm::vec2& position) const {
TowerPtr World::getTowerById(TowerID towerID) { TowerPtr World::getTowerById(TowerID towerID) {
auto it = std::find_if(m_Towers.begin(), m_Towers.end(), [towerID](TowerPtr tower) { return tower->getID() == towerID;}); auto it = std::find_if(m_Towers.begin(), m_Towers.end(), [towerID](TowerPtr tower) { return tower->getID() == towerID;});
if(it == m_Towers.end()) return nullptr; if (it == m_Towers.end()) return nullptr;
return *it; return *it;
} }

View File

@@ -49,7 +49,7 @@ void Client::render() {
m_Game.renderWorld(); m_Game.renderWorld();
} }
void Client::sendMobs(const std::vector<protocol::MobSend>& mobSends){ void Client::sendMobs(const std::vector<protocol::MobSend>& mobSends) {
protocol::SendMobsPacket packet(mobSends); protocol::SendMobsPacket packet(mobSends);
m_Connexion.sendPacket(&packet); m_Connexion.sendPacket(&packet);
} }
@@ -59,7 +59,7 @@ void Client::placeTower(game::TowerType type, const glm::vec2& position) {
m_Connexion.sendPacket(&packet); m_Connexion.sendPacket(&packet);
} }
void Client::upgradeTower(game::TowerID tower, game::TowerLevel level){ void Client::upgradeTower(game::TowerID tower, game::TowerLevel level) {
protocol::UpgradeTowerPacket packet(tower, level); protocol::UpgradeTowerPacket packet(tower, level);
m_Connexion.sendPacket(&packet); m_Connexion.sendPacket(&packet);
} }

View File

@@ -28,7 +28,7 @@ void WorldClient::HandlePacket(const protocol::SpawnMobPacket* packet) {
void WorldClient::HandlePacket(const protocol::UpgradeTowerPacket* packet) { void WorldClient::HandlePacket(const protocol::UpgradeTowerPacket* packet) {
game::TowerPtr tower = getTowerById(packet->getTowerID()); game::TowerPtr tower = getTowerById(packet->getTowerID());
if(tower == nullptr) return; // this should not happen but who knows ? if (tower == nullptr) return; // this should not happen but who knows ?
tower->upgrade(packet->getTowerLevel().getLevel(), packet->getTowerLevel().getPath()); tower->upgrade(packet->getTowerLevel().getLevel(), packet->getTowerLevel().getPath());
} }

View File

@@ -29,12 +29,12 @@ void Server::startThread() {
} }
} }
}); });
} }
void Server::stopThread(){ void Server::stopThread() {
m_ServerRunning = false; m_ServerRunning = false;
if(m_Thread.joinable()) if (m_Thread.joinable())
m_Thread.join(); m_Thread.join();
} }
@@ -55,7 +55,7 @@ bool Server::start(std::uint16_t port) {
} }
void Server::stop() { void Server::stop() {
if(!m_ServerRunning) if (!m_ServerRunning)
return; return;
stopThread(); stopThread();

View File

@@ -168,12 +168,12 @@ void ServerConnexion::HandlePacket(const protocol::SendMobsPacket* packet) {
//TODO: verify the packet //TODO: verify the packet
for(protocol::MobSend mobSend : mobSent){ for (protocol::MobSend mobSend : mobSent) {
m_Server->getGame().getServerWorld()->spawnMobs(mobSend.mobType, mobSend.mobLevel, m_ID, mobSend.mobCount); m_Server->getGame().getServerWorld()->spawnMobs(mobSend.mobType, mobSend.mobLevel, m_ID, mobSend.mobCount);
} }
} }
void ServerConnexion::HandlePacket(const protocol::UpgradeTowerPacket* packet){ void ServerConnexion::HandlePacket(const protocol::UpgradeTowerPacket* packet) {
//TODO: verify the packet //TODO: verify the packet
m_Server->broadcastPacket(packet); m_Server->broadcastPacket(packet);

View File

@@ -9,7 +9,7 @@ ServerGame::ServerGame(server::Server* server) : game::Game(&m_ServerWorld), m_S
} }
void ServerGame::tick(std::uint64_t delta) { void ServerGame::tick(std::uint64_t delta) {
if(m_GameState == game::GameState::Game){ if (m_GameState == game::GameState::Game) {
Game::tick(delta); Game::tick(delta);
updatePlayerStats(); updatePlayerStats();
} }
@@ -27,16 +27,16 @@ void ServerGame::startGame() {
m_GameState = game::GameState::Game; m_GameState = game::GameState::Game;
} }
void ServerGame::updatePlayerStats(){ void ServerGame::updatePlayerStats() {
m_GoldMineTimer.update(); m_GoldMineTimer.update();
for (auto& pair : m_Server->getPlayers()) { for (auto& pair : m_Server->getPlayers()) {
game::Player& player = pair.second; game::Player& player = pair.second;
if(player.hasGoldChanged()){ if (player.hasGoldChanged()) {
protocol::UpdateMoneyPacket packet(player.getGold()); protocol::UpdateMoneyPacket packet(player.getGold());
m_Server->getConnexions()[player.getID()].sendPacket(&packet); m_Server->getConnexions()[player.getID()].sendPacket(&packet);
player.updateGold(); player.updateGold();
} }
if(player.hasExpChanged()){ if (player.hasExpChanged()) {
protocol::UpdateExpPacket packet(player.getExp()); protocol::UpdateExpPacket packet(player.getExp());
m_Server->getConnexions()[player.getID()].sendPacket(&packet); m_Server->getConnexions()[player.getID()].sendPacket(&packet);
player.updateExp(); player.updateExp();

View File

@@ -55,7 +55,7 @@ void CooldownTimer::reset() {
m_Cooldown = 0; // let the timer active once at the beginning m_Cooldown = 0; // let the timer active once at the beginning
} }
void CooldownTimer::applyCooldown(){ void CooldownTimer::applyCooldown() {
m_Cooldown = m_CooldownTime; m_Cooldown = m_CooldownTime;
} }

View File

@@ -24,7 +24,7 @@ bool Updater::checkUpdate() {
m_LastVersion = m_LastVersion.substr(0, m_LastVersion.find('\n')); m_LastVersion = m_LastVersion.substr(0, m_LastVersion.find('\n'));
std::cout << "Current version : [" << getCurrentVersion() << "]\n"; std::cout << "Current version : [" << getCurrentVersion() << "]\n";
std::cout << "Last version : [" << m_LastVersion << "]\n"; std::cout << "Last version : [" << m_LastVersion << "]\n";
if (currentVersion != m_LastVersion) { if (currentVersion != m_LastVersion) {
return true; return true;

View File

@@ -6,7 +6,7 @@ namespace td {
namespace protocol { namespace protocol {
namespace PacketFactory { namespace PacketFactory {
using PacketCreator = std::function<PacketPtr ()>; using PacketCreator = std::function<PacketPtr()>;
static std::map<PacketType, PacketCreator> packets = { static std::map<PacketType, PacketCreator> packets = {
{PacketType::PlayerLogin, []() -> PacketPtr {return std::make_unique<PlayerLoginPacket>();} }, {PacketType::PlayerLogin, []() -> PacketPtr {return std::make_unique<PlayerLoginPacket>();} },

View File

@@ -498,7 +498,7 @@ void WorldRemoveTowerPacket::Deserialize(DataBuffer& data) {
DataBuffer SendMobsPacket::Serialize() const { DataBuffer SendMobsPacket::Serialize() const {
DataBuffer data; DataBuffer data;
data << getID() << static_cast<std::uint8_t>(m_MobSends.size()); data << getID() << static_cast<std::uint8_t>(m_MobSends.size());
for(const MobSend& mobSend : m_MobSends){ for (const MobSend& mobSend : m_MobSends) {
data << mobSend; data << mobSend;
} }
return data; return data;
@@ -508,7 +508,7 @@ void SendMobsPacket::Deserialize(DataBuffer& data) {
std::uint8_t mobSendCount; std::uint8_t mobSendCount;
data >> mobSendCount; data >> mobSendCount;
protocol::MobSend mobSend; protocol::MobSend mobSend;
for(int i = 0; i < mobSendCount; i++){ for (int i = 0; i < mobSendCount; i++) {
data >> mobSend; data >> mobSend;
m_MobSends.push_back(mobSend); m_MobSends.push_back(mobSend);
} }

View File

@@ -43,9 +43,9 @@ void Renderer::initShader() {
} }
bool Renderer::init() { bool Renderer::init() {
#ifndef ANDROID #ifndef ANDROID
glbinding::Binding::initialize(); glbinding::Binding::initialize();
#endif #endif
glEnable(GL_TEXTURE_2D); glEnable(GL_TEXTURE_2D);
glEnable(GL_BLEND); glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

View File

@@ -85,7 +85,7 @@ void WorldRenderer::renderTowers() const {
} }
void WorldRenderer::renderTileSelect() const { void WorldRenderer::renderTileSelect() const {
if(ImGui::IsAnyItemHovered()) return; if (ImGui::IsAnyItemHovered()) return;
Renderer::Model tileSelectModel; Renderer::Model tileSelectModel;
tileSelectModel.vao = m_SelectTileVao.get(); tileSelectModel.vao = m_SelectTileVao.get();
@@ -180,8 +180,8 @@ void WorldRenderer::renderTowerUpgradePopup() {
bool alreadyUpgraded = currentLevel <= towerLevel; bool alreadyUpgraded = currentLevel <= towerLevel;
bool canUpgrade = (towerLevel + 1) == currentLevel; bool canUpgrade = (towerLevel + 1) == currentLevel;
if(canUpgrade && towerPath != game::TowerPath::Base){ if (canUpgrade && towerPath != game::TowerPath::Base) {
if(currentPath != towerPath){ if (currentPath != towerPath) {
canUpgrade = false; canUpgrade = false;
} }
} }
@@ -199,7 +199,7 @@ void WorldRenderer::renderTowerUpgradePopup() {
ImGui::EndDisabled(); ImGui::EndDisabled();
} else if (canUpgrade) { } else if (canUpgrade) {
if (ImGui::Button("Upgrade", ImVec2(100, 100))) { if (ImGui::Button("Upgrade", ImVec2(100, 100))) {
m_Client->getClient()->upgradeTower(tower->getID(), {currentLevel, currentPath}); m_Client->getClient()->upgradeTower(tower->getID(), { currentLevel, currentPath });
} }
} else { } else {
ImGui::BeginDisabled(); ImGui::BeginDisabled();
@@ -226,8 +226,8 @@ void WorldRenderer::detectClick() {
} }
void WorldRenderer::renderMobTooltip() const { void WorldRenderer::renderMobTooltip() const {
if(ImGui::IsAnyItemHovered()) return; if (ImGui::IsAnyItemHovered()) return;
detectMobHovering(); detectMobHovering();
m_MobTooltip->render(); m_MobTooltip->render();
} }
@@ -240,7 +240,7 @@ void WorldRenderer::detectMobHovering() const {
float mobCenterY = mob->getY(); float mobCenterY = mob->getY();
if (cursorWorldPos.x > mobCenterX - 0.5f && cursorWorldPos.x < mobCenterX + 0.5f if (cursorWorldPos.x > mobCenterX - 0.5f && cursorWorldPos.x < mobCenterX + 0.5f
&& cursorWorldPos.y > mobCenterY - 0.5f && cursorWorldPos.y < mobCenterY + 0.5f) { && cursorWorldPos.y > mobCenterY - 0.5f && cursorWorldPos.y < mobCenterY + 0.5f) {
m_MobTooltip->setMob(mob.get()); m_MobTooltip->setMob(mob.get());
return; return;
} }
} }

View File

@@ -8,7 +8,7 @@
namespace td { namespace td {
namespace gui { namespace gui {
FrameMenu::FrameMenu(client::Client* client) : GuiWidget(client), m_VSync(true), m_IsometricView(true), m_ShowDemoWindow(false){ FrameMenu::FrameMenu(client::Client* client) : GuiWidget(client), m_VSync(true), m_IsometricView(true), m_ShowDemoWindow(false) {
} }
@@ -24,7 +24,7 @@ void FrameMenu::render() {
ImGui::Checkbox("Demo Window", &m_ShowDemoWindow); ImGui::Checkbox("Demo Window", &m_ShowDemoWindow);
ImGui::End(); ImGui::End();
if(m_ShowDemoWindow) if (m_ShowDemoWindow)
ImGui::ShowDemoWindow(&m_ShowDemoWindow); ImGui::ShowDemoWindow(&m_ShowDemoWindow);
} }

View File

@@ -13,7 +13,7 @@ GameMenu::GameMenu(client::Client* client) : GuiWidget(client), m_SummonMenu(std
} }
void GameMenu::render(){ void GameMenu::render() {
if (getClient()->getGame().getGameState() == td::game::GameState::Lobby) { if (getClient()->getGame().getGameState() == td::game::GameState::Lobby) {
ImGui::Begin("Lobby"); ImGui::Begin("Lobby");

View File

@@ -12,8 +12,8 @@ MainMenu::MainMenu(client::Client* client) : GuiWidget(client), m_ConnectPort(25
m_ConnectAddress.reserve(256); m_ConnectAddress.reserve(256);
} }
MainMenu::~MainMenu(){ MainMenu::~MainMenu() {
if(m_Server != nullptr) if (m_Server != nullptr)
m_Server->stop(); m_Server->stop();
} }
@@ -28,7 +28,7 @@ void MainMenu::render() {
if (ImGui::Button("Options")) { if (ImGui::Button("Options")) {
// TODO: add settings // TODO: add settings
} }
if (ImGui::BeginPopup("Rejoindre une partie##join_popup")) { if (ImGui::BeginPopup("Rejoindre une partie##join_popup")) {
ImGui::InputText("Server Adress", &m_ConnectAddress.front(), m_ConnectAddress.capacity()); ImGui::InputText("Server Adress", &m_ConnectAddress.front(), m_ConnectAddress.capacity());
ImGui::InputInt("Port", &m_ConnectPort, -1); ImGui::InputInt("Port", &m_ConnectPort, -1);
@@ -71,7 +71,7 @@ void MainMenu::render() {
ImGui::End(); ImGui::End();
} }
bool MainMenu::startServer(){ bool MainMenu::startServer() {
if (m_WorldFilePath.empty()) if (m_WorldFilePath.empty())
return false; return false;
m_Server = std::make_unique<td::server::Server>(m_WorldFilePath); m_Server = std::make_unique<td::server::Server>(m_WorldFilePath);

View File

@@ -19,22 +19,22 @@ void MobTooltip::render() {
const game::Player& sender = getClient()->getGame().getPlayerById(m_Mob->getSender()); const game::Player& sender = getClient()->getGame().getPlayerById(m_Mob->getSender());
ImGui::BeginTooltip(); ImGui::BeginTooltip();
ImGui::Text("Sender :"); ImGui::Text("Sender :");
ImGui::SameLine(); ImGui::SameLine();
ImGui::PushStyleColor(ImGuiCol_Text, render::WorldRenderer::getImGuiTeamColor(sender.getTeamColor())); ImGui::PushStyleColor(ImGuiCol_Text, render::WorldRenderer::getImGuiTeamColor(sender.getTeamColor()));
ImGui::Text("%s", sender.getName().c_str()); ImGui::Text("%s", sender.getName().c_str());
ImGui::PopStyleColor(); ImGui::PopStyleColor();
ImGui::Text("Mob HP : %.1f/%i", m_Mob->getHealth(), m_Mob->getStats()->getMaxLife()); ImGui::Text("Mob HP : %.1f/%i", m_Mob->getHealth(), m_Mob->getStats()->getMaxLife());
ImGui::Text("Mob Type : %s", game::MobFactory::getMobName(m_Mob->getType()).c_str()); ImGui::Text("Mob Type : %s", game::MobFactory::getMobName(m_Mob->getType()).c_str());
ImGui::Text("Mob Level : %i", m_Mob->getLevel()); ImGui::Text("Mob Level : %i", m_Mob->getLevel());
ImGui::NewLine(); ImGui::NewLine();
ImGui::Text("Mob Stats :"); ImGui::Text("Mob Stats :");
ImGui::Text("\tMax health : %i", m_Mob->getStats()->getMaxLife()); ImGui::Text("\tMax health : %i", m_Mob->getStats()->getMaxLife());
ImGui::Text("\tSpeed : %.1f", m_Mob->getStats()->getMovementSpeed()); ImGui::Text("\tSpeed : %.1f", m_Mob->getStats()->getMovementSpeed());
ImGui::Text("\tDamage : %.1f", m_Mob->getStats()->getDamage()); ImGui::Text("\tDamage : %.1f", m_Mob->getStats()->getDamage());
ImGui::Text("\tMoney cost : %i", m_Mob->getStats()->getMoneyCost()); ImGui::Text("\tMoney cost : %i", m_Mob->getStats()->getMoneyCost());
ImGui::Text("\tEXP cost : %i", m_Mob->getStats()->getExpCost()); ImGui::Text("\tEXP cost : %i", m_Mob->getStats()->getExpCost());
ImGui::Text("\tEXP reward : %i", m_Mob->getStats()->getExpReward()); ImGui::Text("\tEXP reward : %i", m_Mob->getStats()->getExpReward());
ImGui::EndTooltip(); ImGui::EndTooltip();
} }

View File

@@ -5,11 +5,11 @@
namespace td { namespace td {
namespace gui { namespace gui {
SummonMenu::SummonMenu(client::Client* client) : GuiWidget(client), m_MenuOpened(true){ SummonMenu::SummonMenu(client::Client* client) : GuiWidget(client), m_MenuOpened(true) {
m_Values.fill(0); m_Values.fill(0);
} }
void SummonMenu::render(){ void SummonMenu::render() {
if (m_MenuOpened) { if (m_MenuOpened) {
ImGui::Begin("Summon", &m_MenuOpened); ImGui::Begin("Summon", &m_MenuOpened);
ImTextureID my_tex_id = ImGui::GetIO().Fonts->TexID; ImTextureID my_tex_id = ImGui::GetIO().Fonts->TexID;
@@ -51,8 +51,8 @@ void SummonMenu::render(){
if (ImGui::Button("Send")) { if (ImGui::Button("Send")) {
std::vector<protocol::MobSend> mobSent; std::vector<protocol::MobSend> mobSent;
protocol::MobSend mobSend; protocol::MobSend mobSend;
for(int i = 0; i < m_MobTypeCount; i++){ for (int i = 0; i < m_MobTypeCount; i++) {
if(m_Values[i] != 0){ if (m_Values[i] != 0) {
mobSend.mobCount = m_Values[i]; mobSend.mobCount = m_Values[i];
mobSend.mobLevel = 1; // TODO: add mob levels mobSend.mobLevel = 1; // TODO: add mob levels
mobSend.mobType = td::game::MobType(i); mobSend.mobType = td::game::MobType(i);
@@ -66,7 +66,7 @@ void SummonMenu::render(){
} }
} }
void SummonMenu::setSummonMax(int valueIndex){ void SummonMenu::setSummonMax(int valueIndex) {
int& value = m_Values[valueIndex]; int& value = m_Values[valueIndex];
value = std::max(0, value); value = std::max(0, value);
value = std::min(12, value); value = std::min(12, value);

View File

@@ -28,8 +28,8 @@ void TowerGui::initWidgets() {
m_UpdateMenu = std::make_unique<td::gui::UpdateMenu>(m_Client.get()); m_UpdateMenu = std::make_unique<td::gui::UpdateMenu>(m_Client.get());
} }
TowerGui::TowerGui(SDL_Window* sdl_window, SDL_GLContext glContext, td::render::Renderer* renderer) : m_Window(sdl_window), TowerGui::TowerGui(SDL_Window* sdl_window, SDL_GLContext glContext, td::render::Renderer* renderer) : m_Window(sdl_window),
m_GlContext(glContext), m_Renderer(renderer), m_Client(std::make_unique<client::Client>(m_Renderer)) { m_GlContext(glContext), m_Renderer(renderer), m_Client(std::make_unique<client::Client>(m_Renderer)) {
IMGUI_CHECKVERSION(); IMGUI_CHECKVERSION();
ImGui::CreateContext(); ImGui::CreateContext();
ImGui::StyleColorsDark(); ImGui::StyleColorsDark();

View File

@@ -44,7 +44,7 @@ void TowerPlacePopup::render() {
ImGui::SetCursorPosY(m_TowerPopupTileHeight - m_PlaceTowerButtonHeight - 10); ImGui::SetCursorPosY(m_TowerPopupTileHeight - m_PlaceTowerButtonHeight - 10);
ImGui::SetCursorPosX(m_TowerPopupTileWidth / 2.0f - m_PlaceTowerButtonWidth / 2.0f); ImGui::SetCursorPosX(m_TowerPopupTileWidth / 2.0f - m_PlaceTowerButtonWidth / 2.0f);
if(ImGui::Button(buyText.c_str(), ImVec2(m_PlaceTowerButtonWidth, m_PlaceTowerButtonHeight))){ if (ImGui::Button(buyText.c_str(), ImVec2(m_PlaceTowerButtonWidth, m_PlaceTowerButtonHeight))) {
getClient()->placeTower(towerType, m_ClickWorldPos); getClient()->placeTower(towerType, m_ClickWorldPos);
ImGui::CloseCurrentPopup(); ImGui::CloseCurrentPopup();
} }

View File

@@ -20,18 +20,18 @@ void UpdateMenu::render() {
bool updateAvailable = m_UpdateAvailable.get(); bool updateAvailable = m_UpdateAvailable.get();
if (updateAvailable) { if (updateAvailable) {
if(m_Updater.isFileWrited()){ if (m_Updater.isFileWrited()) {
ImGui::Text("The update is now installed"); ImGui::Text("The update is now installed");
ImGui::Text("The game needs to be restarted"); ImGui::Text("The game needs to be restarted");
}else if (m_Updater.isDownloadComplete()) { } else if (m_Updater.isDownloadComplete()) {
ImGui::Text("Download done!"); ImGui::Text("Download done!");
if(ImGui::Button("Install")){ if (ImGui::Button("Install")) {
if(!m_Updater.writeFile()){ if (!m_Updater.writeFile()) {
m_Error = "Failed to write file !\n"; m_Error = "Failed to write file !\n";
ImGui::OpenPopup("UpdateError"); ImGui::OpenPopup("UpdateError");
} }
} }
if(ImGui::Button("Cancel")){ if (ImGui::Button("Cancel")) {
m_Updater.cancelDownload(); m_Updater.cancelDownload();
m_Updater.clearCache(); m_Updater.clearCache();
} }
@@ -50,13 +50,13 @@ void UpdateMenu::render() {
bool canDownloadFile = m_Updater.canUpdate(); bool canDownloadFile = m_Updater.canUpdate();
if(!canDownloadFile) ImGui::BeginDisabled(); if (!canDownloadFile) ImGui::BeginDisabled();
if (ImGui::Button("Download")) { if (ImGui::Button("Download")) {
m_Updater.downloadUpdate(); m_Updater.downloadUpdate();
} }
if(!canDownloadFile) ImGui::EndDisabled(); if (!canDownloadFile) ImGui::EndDisabled();
ImGui::SameLine(); ImGui::SameLine();
if (ImGui::Button("Cancel")) { if (ImGui::Button("Cancel")) {
@@ -77,8 +77,8 @@ void UpdateMenu::render() {
} }
} }
void UpdateMenu::renderErrorPopup(){ void UpdateMenu::renderErrorPopup() {
if(ImGui::BeginPopup("UpdateError")){ if (ImGui::BeginPopup("UpdateError")) {
ImGui::Text("Error : %s", m_Error.c_str()); ImGui::Text("Error : %s", m_Error.c_str());
ImGui::EndPopup(); ImGui::EndPopup();
} }

View File

@@ -8,7 +8,7 @@
#include "render/shaders/EntityShader.h" #include "render/shaders/EntityShader.h"
#ifdef __ANDROID__ #ifdef __ANDROID__
static const char vertexSource[] = static const char vertexSource[] =
R"(#version 300 es R"(#version 300 es
precision mediump float; precision mediump float;
@@ -34,7 +34,7 @@ void main(void){
} }
)"; )";
static const char fragmentSource[] = static const char fragmentSource[] =
R"(#version 300 es R"(#version 300 es
precision mediump float; precision mediump float;

View File

@@ -116,9 +116,9 @@ int ShaderProgram::loadShader(const std::string& source, GLenum type) {
char error[size]; char error[size];
glGetShaderInfoLog(shaderID, size, &size, error); glGetShaderInfoLog(shaderID, size, &size, error);
std::cout << error << std::endl; std::cout << error << std::endl;
#ifdef __ANDROID__ #ifdef __ANDROID__
__android_log_print(ANDROID_LOG_ERROR, "TRACKERS", "Could not compile shader !\n %s", error); __android_log_print(ANDROID_LOG_ERROR, "TRACKERS", "Could not compile shader !\n %s", error);
#endif #endif
} }
return shaderID; return shaderID;
} }

View File

@@ -8,7 +8,7 @@
#include "render/shaders/WorldShader.h" #include "render/shaders/WorldShader.h"
#ifdef __ANDROID__ #ifdef __ANDROID__
static const char vertexSource[] = static const char vertexSource[] =
R"(#version 300 es R"(#version 300 es
precision mediump float; precision mediump float;
@@ -31,7 +31,7 @@ void main(void){
} }
)"; )";
static const char fragmentSource[] = static const char fragmentSource[] =
R"(#version 300 es R"(#version 300 es
precision mediump float; precision mediump float;