aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmake/compiler/gcc/settings.cmake4
-rw-r--r--src/common/Configuration/Config.cpp8
-rw-r--r--src/common/Logging/LogMessage.cpp5
-rw-r--r--src/common/Utilities/Util.cpp17
-rw-r--r--src/server/database/Database/MySQLConnection.cpp5
-rw-r--r--src/server/database/Updater/UpdateFetcher.cpp2
-rw-r--r--src/server/game/AI/SmartScripts/SmartScript.cpp1
-rw-r--r--src/server/game/Battlefield/Zones/BattlefieldTB.cpp4
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp1
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp4
-rw-r--r--src/server/game/Conditions/ConditionMgr.cpp2
-rw-r--r--src/server/game/DataStores/M2Stores.cpp11
-rw-r--r--src/server/game/DungeonFinding/LFGGroupData.cpp3
-rw-r--r--src/server/game/DungeonFinding/LFGMgr.cpp1
-rw-r--r--src/server/game/DungeonFinding/LFGPlayerData.cpp4
-rw-r--r--src/server/game/Entities/GameObject/GameObject.cpp2
-rw-r--r--src/server/game/Entities/Item/Item.cpp6
-rw-r--r--src/server/game/Entities/Object/Updates/UpdateFields.h2
-rw-r--r--src/server/game/Entities/Player/Player.cpp4
-rw-r--r--src/server/game/Entities/Player/RestMgr.cpp6
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp3
-rw-r--r--src/server/game/Handlers/PetHandler.cpp2
-rw-r--r--src/server/game/Movement/Spline/Spline.cpp8
-rw-r--r--src/server/game/Movement/Spline/Spline.h4
-rw-r--r--src/server/game/Server/Packets/GuildPackets.h2
-rw-r--r--src/server/game/Spells/Auras/SpellAuraEffects.cpp1
-rw-r--r--src/server/game/Spells/Auras/SpellAuras.cpp2
-rw-r--r--src/server/game/Spells/Spell.cpp9
-rw-r--r--src/server/game/Spells/SpellInfo.cpp3
-rw-r--r--src/server/game/Spells/SpellMgr.cpp3
-rw-r--r--src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp9
-rw-r--r--src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp2
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp2
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp2
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp2
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp18
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp6
-rw-r--r--src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp2
-rw-r--r--src/server/scripts/Northrend/zone_sholazar_basin.cpp6
-rw-r--r--src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp2
-rw-r--r--src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp2
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp2
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.cpp3
-rw-r--r--src/tools/vmap4_extractor/gameobject_extract.cpp11
-rw-r--r--src/tools/vmap4_extractor/model.cpp9
-rw-r--r--src/tools/vmap4_extractor/vec3d.h17
48 files changed, 101 insertions, 127 deletions
diff --git a/cmake/compiler/gcc/settings.cmake b/cmake/compiler/gcc/settings.cmake
index f827f53b3de..f5a249bfba0 100644
--- a/cmake/compiler/gcc/settings.cmake
+++ b/cmake/compiler/gcc/settings.cmake
@@ -33,6 +33,10 @@ if( WITH_WARNINGS )
-Wfatal-errors
-Woverloaded-virtual)
+ target_compile_options(trinity-warning-interface
+ INTERFACE
+ -Wno-deprecated-copy) # warning in g3d
+
message(STATUS "GCC: All warnings enabled")
endif()
diff --git a/src/common/Configuration/Config.cpp b/src/common/Configuration/Config.cpp
index c8403a0e666..00869ee9400 100644
--- a/src/common/Configuration/Config.cpp
+++ b/src/common/Configuration/Config.cpp
@@ -85,12 +85,12 @@ T ConfigMgr::GetValueDefault(std::string const& name, T def) const
{
return _config.get<T>(bpt::ptree::path_type(name, '/'));
}
- catch (bpt::ptree_bad_path)
+ catch (bpt::ptree_bad_path const&)
{
TC_LOG_WARN("server.loading", "Missing name %s in config file %s, add \"%s = %s\" to this file",
name.c_str(), _filename.c_str(), name.c_str(), std::to_string(def).c_str());
}
- catch (bpt::ptree_bad_data)
+ catch (bpt::ptree_bad_data const&)
{
TC_LOG_ERROR("server.loading", "Bad value defined for name %s in config file %s, going to use %s instead",
name.c_str(), _filename.c_str(), std::to_string(def).c_str());
@@ -106,12 +106,12 @@ std::string ConfigMgr::GetValueDefault<std::string>(std::string const& name, std
{
return _config.get<std::string>(bpt::ptree::path_type(name, '/'));
}
- catch (bpt::ptree_bad_path)
+ catch (bpt::ptree_bad_path const&)
{
TC_LOG_WARN("server.loading", "Missing name %s in config file %s, add \"%s = %s\" to this file",
name.c_str(), _filename.c_str(), name.c_str(), def.c_str());
}
- catch (bpt::ptree_bad_data)
+ catch (bpt::ptree_bad_data const&)
{
TC_LOG_ERROR("server.loading", "Bad value defined for name %s in config file %s, going to use %s instead",
name.c_str(), _filename.c_str(), def.c_str());
diff --git a/src/common/Logging/LogMessage.cpp b/src/common/Logging/LogMessage.cpp
index fd5285efba8..143203946e8 100644
--- a/src/common/Logging/LogMessage.cpp
+++ b/src/common/Logging/LogMessage.cpp
@@ -16,6 +16,7 @@
*/
#include "LogMessage.h"
+#include "StringFormat.h"
#include "Util.h"
LogMessage::LogMessage(LogLevel _level, std::string const& _type, std::string&& _text)
@@ -32,9 +33,7 @@ std::string LogMessage::getTimeStr(time_t time)
{
tm aTm;
localtime_r(&time, &aTm);
- char buf[20];
- snprintf(buf, 20, "%04d-%02d-%02d_%02d:%02d:%02d", aTm.tm_year + 1900, aTm.tm_mon + 1, aTm.tm_mday, aTm.tm_hour, aTm.tm_min, aTm.tm_sec);
- return std::string(buf);
+ return Trinity::StringFormat("%04d-%02d-%02d_%02d:%02d:%02d", aTm.tm_year + 1900, aTm.tm_mon + 1, aTm.tm_mday, aTm.tm_hour, aTm.tm_min, aTm.tm_sec);
}
std::string LogMessage::getTimeStr()
diff --git a/src/common/Utilities/Util.cpp b/src/common/Utilities/Util.cpp
index 1776815a247..f5ca8a6ac4e 100644
--- a/src/common/Utilities/Util.cpp
+++ b/src/common/Utilities/Util.cpp
@@ -18,6 +18,7 @@
#include "Util.h"
#include "Common.h"
#include "IpAddress.h"
+#include "StringFormat.h"
#include <utf8.h>
#include <algorithm>
#include <sstream>
@@ -203,9 +204,7 @@ std::string TimeToTimestampStr(time_t t)
// HH hour (2 digits 00-23)
// MM minutes (2 digits 00-59)
// SS seconds (2 digits 00-59)
- char buf[20];
- snprintf(buf, 20, "%04d-%02d-%02d_%02d-%02d-%02d", aTm.tm_year+1900, aTm.tm_mon+1, aTm.tm_mday, aTm.tm_hour, aTm.tm_min, aTm.tm_sec);
- return std::string(buf);
+ return Trinity::StringFormat("%04d-%02d-%02d_%02d-%02d-%02d", aTm.tm_year + 1900, aTm.tm_mon + 1, aTm.tm_mday, aTm.tm_hour, aTm.tm_min, aTm.tm_sec);
}
/// Check if the string is a valid ip address representation
@@ -251,7 +250,7 @@ size_t utf8length(std::string& utf8str)
{
return utf8::distance(utf8str.c_str(), utf8str.c_str()+utf8str.size());
}
- catch(std::exception)
+ catch (std::exception const&)
{
utf8str.clear();
return 0;
@@ -273,7 +272,7 @@ void utf8truncate(std::string& utf8str, size_t len)
char* oend = utf8::utf16to8(wstr.c_str(), wstr.c_str()+wstr.size(), &utf8str[0]);
utf8str.resize(oend-(&utf8str[0])); // remove unused tail
}
- catch(std::exception)
+ catch (std::exception const&)
{
utf8str.clear();
}
@@ -296,7 +295,7 @@ bool Utf8toWStr(char const* utf8str, size_t csize, wchar_t* wstr, size_t& wsize)
utf8::utf8to16(utf8str, utf8str+csize, wstr);
wstr[len] = L'\0';
}
- catch(std::exception)
+ catch (std::exception const&)
{
if (wsize > 0)
wstr[0] = L'\0';
@@ -317,7 +316,7 @@ bool Utf8toWStr(const std::string& utf8str, std::wstring& wstr)
utf8::utf8to16(utf8str.c_str(), utf8str.c_str()+utf8str.size(), &wstr[0]);
}
}
- catch(std::exception)
+ catch (std::exception const&)
{
wstr.clear();
return false;
@@ -340,7 +339,7 @@ bool WStrToUtf8(wchar_t* wstr, size_t size, std::string& utf8str)
}
utf8str = utf8str2;
}
- catch(std::exception)
+ catch (std::exception const&)
{
utf8str.clear();
return false;
@@ -363,7 +362,7 @@ bool WStrToUtf8(std::wstring const& wstr, std::string& utf8str)
}
utf8str = utf8str2;
}
- catch(std::exception)
+ catch (std::exception const&)
{
utf8str.clear();
return false;
diff --git a/src/server/database/Database/MySQLConnection.cpp b/src/server/database/Database/MySQLConnection.cpp
index 466e00e35e4..bde2004afdf 100644
--- a/src/server/database/Database/MySQLConnection.cpp
+++ b/src/server/database/Database/MySQLConnection.cpp
@@ -513,7 +513,6 @@ bool MySQLConnection::_HandleMySQLErrno(uint32 errNo, uint8 attempts /*= 5*/)
case CR_SERVER_GONE_ERROR:
case CR_SERVER_LOST:
case CR_SERVER_LOST_EXTENDED:
- {
if (m_Mysql)
{
TC_LOG_ERROR("sql.sql", "Lost the connection to the MySQL server!");
@@ -521,9 +520,7 @@ bool MySQLConnection::_HandleMySQLErrno(uint32 errNo, uint8 attempts /*= 5*/)
mysql_close(m_Mysql);
m_Mysql = nullptr;
}
-
- /*no break*/
- }
+ /* fallthrough */
case CR_CONN_HOST_ERROR:
{
TC_LOG_INFO("sql.sql", "Attempting to reconnect to the MySQL server...");
diff --git a/src/server/database/Updater/UpdateFetcher.cpp b/src/server/database/Updater/UpdateFetcher.cpp
index 123bb6dc711..3241d7feea6 100644
--- a/src/server/database/Updater/UpdateFetcher.cpp
+++ b/src/server/database/Updater/UpdateFetcher.cpp
@@ -307,7 +307,7 @@ UpdateResult UpdateFetcher::Update(bool const redundancyChecks,
{
case MODE_APPLY:
speed = Apply(availableQuery.first);
- /*no break*/
+ /* fallthrough */
case MODE_REHASH:
UpdateEntry(file, speed);
break;
diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp
index 24c5dd6c646..04af075e9af 100644
--- a/src/server/game/AI/SmartScripts/SmartScript.cpp
+++ b/src/server/game/AI/SmartScripts/SmartScript.cpp
@@ -2685,6 +2685,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
break;
}
}
+ /* fallthrough */
case SMART_ACTION_SET_CORPSE_DELAY:
{
ObjectList* targets = GetTargets(e, unit);
diff --git a/src/server/game/Battlefield/Zones/BattlefieldTB.cpp b/src/server/game/Battlefield/Zones/BattlefieldTB.cpp
index 1d610373c94..be6072a2b8c 100644
--- a/src/server/game/Battlefield/Zones/BattlefieldTB.cpp
+++ b/src/server/game/Battlefield/Zones/BattlefieldTB.cpp
@@ -850,14 +850,14 @@ void TolBaradCapturePoint::ChangeTeam(TeamId /*oldTeam*/)
break;
case BF_CAPTUREPOINT_OBJECTIVESTATE_HORDE_ALLIANCE_CHALLENGE:
m_Bf->SendWarning(TBCapturePoints[iBase].textLost[TEAM_HORDE]);
- //no break here!
+ /* fallthrough */
case BF_CAPTUREPOINT_OBJECTIVESTATE_NEUTRAL_ALLIANCE_CHALLENGE:
SendUpdateWorldState(TBCapturePoints[iBase].wsCapturing[TEAM_ALLIANCE], uint32(1));
GetCapturePointGo()->SetGoArtKit(TB_GO_ARTKIT_FLAG_NONE);
break;
case BF_CAPTUREPOINT_OBJECTIVESTATE_ALLIANCE_HORDE_CHALLENGE:
m_Bf->SendWarning(TBCapturePoints[iBase].textLost[TEAM_ALLIANCE]);
- //no break here!
+ /* fallthrough */
case BF_CAPTUREPOINT_OBJECTIVESTATE_NEUTRAL_HORDE_CHALLENGE:
SendUpdateWorldState(TBCapturePoints[iBase].wsCapturing[TEAM_HORDE], uint32(1));
GetCapturePointGo()->SetGoArtKit(TB_GO_ARTKIT_FLAG_NONE);
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp
index 402b223841c..3fc2cd2ad8d 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp
@@ -193,6 +193,7 @@ void BattlegroundAV::HandleQuestComplete(uint32 questid, Player* player)
case AV_QUEST_A_BOSS1:
case AV_QUEST_H_BOSS1:
m_Team_QuestStatus[team][4] += 9; //you can turn in 10 or 1 item..
+ /* fallthrough */
case AV_QUEST_A_BOSS2:
case AV_QUEST_H_BOSS2:
m_Team_QuestStatus[team][4]++;
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp
index 3bd0712b39f..3099006cf18 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp
@@ -736,11 +736,11 @@ bool BattlegroundSA::CanInteractWithObject(uint32 objectId)
case BG_SA_TITAN_RELIC:
if (GateStatus[BG_SA_ANCIENT_GATE] != BG_SA_GATE_DESTROYED || GateStatus[BG_SA_YELLOW_GATE] != BG_SA_GATE_DESTROYED)
return false;
- // no break
+ /* fallthrough */
case BG_SA_CENTRAL_FLAG:
if (GateStatus[BG_SA_RED_GATE] != BG_SA_GATE_DESTROYED && GateStatus[BG_SA_PURPLE_GATE] != BG_SA_GATE_DESTROYED)
return false;
- // no break
+ /* fallthrough */
case BG_SA_LEFT_FLAG:
case BG_SA_RIGHT_FLAG:
if (GateStatus[BG_SA_GREEN_GATE] != BG_SA_GATE_DESTROYED && GateStatus[BG_SA_BLUE_GATE] != BG_SA_GATE_DESTROYED)
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp
index 25031d5c04c..f47af683485 100644
--- a/src/server/game/Conditions/ConditionMgr.cpp
+++ b/src/server/game/Conditions/ConditionMgr.cpp
@@ -1975,7 +1975,7 @@ bool ConditionMgr::isConditionTypeValid(Condition* cond) const
TC_LOG_ERROR("sql.sql", "%s has invalid state mask (%u), skipped.", cond->ToString(true).c_str(), cond->ConditionValue2);
return false;
}
- // intentional missing break
+ /* fallthrough */
case CONDITION_QUESTREWARDED:
case CONDITION_QUESTTAKEN:
case CONDITION_QUEST_NONE:
diff --git a/src/server/game/DataStores/M2Stores.cpp b/src/server/game/DataStores/M2Stores.cpp
index 7bf97b44ed4..a14f9ae8121 100644
--- a/src/server/game/DataStores/M2Stores.cpp
+++ b/src/server/game/DataStores/M2Stores.cpp
@@ -147,7 +147,6 @@ bool readCamera(M2Camera const* cam, uint32 buffSize, M2Header const* header, Ci
float x = lastTarget.locations.GetPositionX();
float y = lastTarget.locations.GetPositionY();
- float z = lastTarget.locations.GetPositionZ();
// Now, the timestamps for target cam and position can be different. So, if they differ we interpolate
if (lastTarget.timeStamp != posTimestamps[i])
@@ -156,10 +155,8 @@ bool readCamera(M2Camera const* cam, uint32 buffSize, M2Header const* header, Ci
uint32 timeDiffThis = posTimestamps[i] - lastTarget.timeStamp;
float xDiff = nextTarget.locations.GetPositionX() - lastTarget.locations.GetPositionX();
float yDiff = nextTarget.locations.GetPositionY() - lastTarget.locations.GetPositionY();
- float zDiff = nextTarget.locations.GetPositionZ() - lastTarget.locations.GetPositionZ();
x = lastTarget.locations.GetPositionX() + (xDiff * (float(timeDiffThis) / float(timeDiffTarget)));
y = lastTarget.locations.GetPositionY() + (yDiff * (float(timeDiffThis) / float(timeDiffTarget)));
- z = lastTarget.locations.GetPositionZ() + (zDiff * (float(timeDiffThis) / float(timeDiffTarget)));
}
float xDiff = x - thisCam.locations.GetPositionX();
float yDiff = y - thisCam.locations.GetPositionY();
@@ -197,10 +194,10 @@ TC_GAME_API void LoadM2Cameras(std::string const& dataPath)
// Get file size
m2file.seekg(0, std::ios::end);
- std::streamoff const fileSize = m2file.tellg();
+ std::streamoff fileSize = m2file.tellg();
// Reject if not at least the size of the header
- if (static_cast<uint32 const>(fileSize) < sizeof(M2Header) + 4)
+ if (static_cast<uint32>(fileSize) < sizeof(M2Header) + 4)
{
TC_LOG_ERROR("server.loading", "Camera file %s is damaged. File is smaller than header size", filename.string().c_str());
m2file.close();
@@ -234,7 +231,7 @@ TC_GAME_API void LoadM2Cameras(std::string const& dataPath)
bool fileValid = true;
uint32 m2start = 0;
char const* ptr = buffer.data();
- while (m2start + 4 < buffer.size() && *reinterpret_cast<uint32 const*>(ptr) != '02DM')
+ while (m2start + 4 < buffer.size() && memcmp(ptr, "MD20", 4) != 0)
{
++m2start;
++ptr;
@@ -254,7 +251,7 @@ TC_GAME_API void LoadM2Cameras(std::string const& dataPath)
// Read header
M2Header const* header = reinterpret_cast<M2Header const*>(buffer.data() + m2start);
- if (m2start + header->ofsCameras + sizeof(M2Camera) > static_cast<uint32 const>(fileSize))
+ if (m2start + header->ofsCameras + sizeof(M2Camera) > static_cast<uint32>(fileSize))
{
TC_LOG_ERROR("server.loading", "Camera file %s is damaged. Camera references position beyond file end", filename.string().c_str());
continue;
diff --git a/src/server/game/DungeonFinding/LFGGroupData.cpp b/src/server/game/DungeonFinding/LFGGroupData.cpp
index ca36e89e268..b1386a43c80 100644
--- a/src/server/game/DungeonFinding/LFGGroupData.cpp
+++ b/src/server/game/DungeonFinding/LFGGroupData.cpp
@@ -40,10 +40,11 @@ void LfgGroupData::SetState(LfgState state)
case LFG_STATE_NONE:
m_Dungeon = 0;
m_KicksLeft = LFG_GROUP_MAX_KICKS;
+ /* fallthrough */
case LFG_STATE_FINISHED_DUNGEON:
case LFG_STATE_DUNGEON:
m_OldState = state;
- // No break on purpose
+ /* fallthrough */
default:
m_State = state;
}
diff --git a/src/server/game/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp
index 8413803a646..72299af8e40 100644
--- a/src/server/game/DungeonFinding/LFGMgr.cpp
+++ b/src/server/game/DungeonFinding/LFGMgr.cpp
@@ -486,6 +486,7 @@ void LFGMgr::JoinLfg(Player* player, uint8 roles, LfgDungeonSet& dungeons)
else
rDungeonId = (*dungeons.begin());
// No break on purpose (Random can only be dungeon or heroic dungeon)
+ /* fallthrough */
case LFG_TYPE_HEROIC:
case LFG_TYPE_DUNGEON:
if (isRaid)
diff --git a/src/server/game/DungeonFinding/LFGPlayerData.cpp b/src/server/game/DungeonFinding/LFGPlayerData.cpp
index acdaf99939d..6d8612ed9fc 100644
--- a/src/server/game/DungeonFinding/LFGPlayerData.cpp
+++ b/src/server/game/DungeonFinding/LFGPlayerData.cpp
@@ -39,10 +39,10 @@ void LfgPlayerData::SetState(LfgState state)
case LFG_STATE_FINISHED_DUNGEON:
m_Roles = 0;
m_SelectedDungeons.clear();
- // No break on purpose
+ /* fallthrough */
case LFG_STATE_DUNGEON:
m_OldState = state;
- // No break on purpose
+ /* fallthrough */
default:
m_State = state;
}
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp
index 1a3fbe69bee..8cb05644006 100644
--- a/src/server/game/Entities/GameObject/GameObject.cpp
+++ b/src/server/game/Entities/GameObject/GameObject.cpp
@@ -602,8 +602,8 @@ void GameObject::Update(uint32 diff)
m_lootState = GO_READY; // for other GOis same switched without delay to GO_READY
break;
}
- // NO BREAK for switch (m_lootState)
}
+ /* fallthrough */
case GO_READY:
{
if (m_respawnTime > 0) // timer on
diff --git a/src/server/game/Entities/Item/Item.cpp b/src/server/game/Entities/Item/Item.cpp
index 56eabab98d1..c8245b14795 100644
--- a/src/server/game/Entities/Item/Item.cpp
+++ b/src/server/game/Entities/Item/Item.cpp
@@ -2453,7 +2453,6 @@ void Item::InitArtifactPowers(uint8 artifactId, uint8 artifactTier)
continue;
ArtifactPowerData powerData;
- memset(&powerData, 0, sizeof(powerData));
powerData.ArtifactPowerId = artifactPower->ID;
powerData.PurchasedRank = 0;
powerData.CurrentRankWithBonus = (artifactPower->Flags & ARTIFACT_POWER_FLAG_FIRST) == ARTIFACT_POWER_FLAG_FIRST ? 1 : 0;
@@ -2502,11 +2501,6 @@ void Item::ApplyArtifactPowerEnchantmentBonuses(EnchantmentSlot slot, uint32 enc
break;
case ITEM_ENCHANTMENT_TYPE_ARTIFACT_POWER_BONUS_RANK_BY_ID:
{
- auto indexItr = m_artifactPowerIdToIndex.find(enchant->EffectArg[i]);
- uint16 index;
- if (indexItr != m_artifactPowerIdToIndex.end())
- index = indexItr->second;
-
if (uint16 const* artifactPowerIndex = Trinity::Containers::MapGetValuePtr(m_artifactPowerIdToIndex, enchant->EffectArg[i]))
{
uint8 newRank = m_itemData->ArtifactPowers[*artifactPowerIndex].CurrentRankWithBonus;
diff --git a/src/server/game/Entities/Object/Updates/UpdateFields.h b/src/server/game/Entities/Object/Updates/UpdateFields.h
index 564787bd3fd..a1fb875fcc6 100644
--- a/src/server/game/Entities/Object/Updates/UpdateFields.h
+++ b/src/server/game/Entities/Object/Updates/UpdateFields.h
@@ -537,7 +537,7 @@ struct ActivePlayerData : public IsUpdateFieldStructureTag, public HasChangesMas
UpdateField<bool, 0, 2> BankAutoSortDisabled;
UpdateField<bool, 0, 3> SortBagsRightToLeft;
UpdateField<bool, 0, 4> InsertItemsLeftToRight;
- UpdateFieldArray<DynamicUpdateField<UF::Research, -1, -1>, 1, 22, 23> Research;
+ UpdateFieldArray<DynamicUpdateField<UF::Research, 4294967295, 4294967295>, 1, 22, 23> Research;
DynamicUpdateField<uint64, 0, 5> KnownTitles;
DynamicUpdateField<uint16, 0, 6> ResearchSites;
DynamicUpdateField<uint32, 0, 7> ResearchSiteProgress;
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index c2e5e8b02e1..2ad9cd137b6 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -5691,7 +5691,7 @@ void Player::InitializeSkillFields()
uint32 i = 0;
for (SkillLineEntry const* skillLine : sSkillLineStore)
{
- if (SkillRaceClassInfoEntry const* rcEntry = sDB2Manager.GetSkillRaceClassInfo(skillLine->ID, getRace(), getClass()))
+ if (sDB2Manager.GetSkillRaceClassInfo(skillLine->ID, getRace(), getClass()))
{
SetSkillLineId(i, skillLine->ID);
SetSkillStartingRank(i, 1);
@@ -9737,7 +9737,7 @@ void Player::SendInitWorldStates(uint32 zoneid, uint32 areaid)
case 4197:
if (bf && bf->GetTypeId() == BATTLEFIELD_WG)
bf->FillInitialWorldStates(packet);
- // No break here, intended.
+ /* fallthrough */
default:
packet.Worldstates.emplace_back(0x914, 0x0); // 7
packet.Worldstates.emplace_back(0x913, 0x0); // 8
diff --git a/src/server/game/Entities/Player/RestMgr.cpp b/src/server/game/Entities/Player/RestMgr.cpp
index e93890fac4d..123e09a108d 100644
--- a/src/server/game/Entities/Player/RestMgr.cpp
+++ b/src/server/game/Entities/Player/RestMgr.cpp
@@ -30,8 +30,6 @@ RestMgr::RestMgr(Player* player) : _player(player), _restTime(0), _innAreaTrigge
void RestMgr::SetRestBonus(RestTypes restType, float restBonus)
{
- uint8 rest_rested_offset;
- uint8 rest_state_offset;
int32 next_level_xp;
bool affectedByRaF = false;
@@ -42,8 +40,6 @@ void RestMgr::SetRestBonus(RestTypes restType, float restBonus)
if (_player->getLevel() >= sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL))
restBonus = 0;
- rest_rested_offset = REST_RESTED_XP;
- rest_state_offset = REST_STATE_XP;
next_level_xp = _player->m_activePlayerData->NextLevelXP;
affectedByRaF = true;
break;
@@ -52,8 +48,6 @@ void RestMgr::SetRestBonus(RestTypes restType, float restBonus)
if (_player->IsMaxHonorLevel())
restBonus = 0;
- rest_rested_offset = REST_RESTED_HONOR;
- rest_state_offset = REST_STATE_HONOR;
next_level_xp = _player->m_activePlayerData->HonorNextLevel;
break;
default:
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index e3441184188..43ae9f624d0 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -6935,6 +6935,7 @@ float Unit::GetUnitSpellCriticalChance(Unit* victim, SpellInfo const* spellProto
return 0.0f;
}
// Do not add a break here, case fallthrough is intentional! Adding a break will make above spells unable to crit.
+ /* fallthrough */
case SPELL_DAMAGE_CLASS_MAGIC:
{
if (schoolMask & SPELL_SCHOOL_MASK_NORMAL)
@@ -13536,7 +13537,7 @@ void Unit::SendClearTarget()
int32 Unit::GetResistance(SpellSchoolMask mask) const
{
- Optional<int32> resist;
+ Optional<int32> resist = boost::make_optional(false, 0);
for (int32 i = SPELL_SCHOOL_NORMAL; i < MAX_SPELL_SCHOOL; ++i)
{
int32 schoolResistance = GetResistance(SpellSchools(i)) + GetBonusResistanceMod(SpellSchools(i));
diff --git a/src/server/game/Handlers/PetHandler.cpp b/src/server/game/Handlers/PetHandler.cpp
index 73bc95f2caf..7428cb9994e 100644
--- a/src/server/game/Handlers/PetHandler.cpp
+++ b/src/server/game/Handlers/PetHandler.cpp
@@ -277,7 +277,7 @@ void WorldSession::HandlePetActionHelper(Unit* pet, ObjectGuid guid1, uint32 spe
case REACT_PASSIVE: //passive
pet->AttackStop();
pet->ClearInPetCombat();
- // no break;
+ /* fallthrough */
case REACT_DEFENSIVE: //recovery
case REACT_AGGRESSIVE: //activete
if (pet->GetTypeId() == TYPEID_UNIT)
diff --git a/src/server/game/Movement/Spline/Spline.cpp b/src/server/game/Movement/Spline/Spline.cpp
index 0e1f631acc6..b6318b6c63d 100644
--- a/src/server/game/Movement/Spline/Spline.cpp
+++ b/src/server/game/Movement/Spline/Spline.cpp
@@ -27,7 +27,7 @@ SplineBase::EvaluationMethtod SplineBase::evaluators[SplineBase::ModesEnd] =
&SplineBase::EvaluateLinear,
&SplineBase::EvaluateCatmullRom,
&SplineBase::EvaluateBezier3,
- (EvaluationMethtod)&SplineBase::UninitializedSpline,
+ &SplineBase::UninitializedSplineEvaluationMethod,
};
SplineBase::EvaluationMethtod SplineBase::derivative_evaluators[SplineBase::ModesEnd] =
@@ -35,7 +35,7 @@ SplineBase::EvaluationMethtod SplineBase::derivative_evaluators[SplineBase::Mode
&SplineBase::EvaluateDerivativeLinear,
&SplineBase::EvaluateDerivativeCatmullRom,
&SplineBase::EvaluateDerivativeBezier3,
- (EvaluationMethtod)&SplineBase::UninitializedSpline,
+ &SplineBase::UninitializedSplineEvaluationMethod,
};
SplineBase::SegLenghtMethtod SplineBase::seglengths[SplineBase::ModesEnd] =
@@ -43,7 +43,7 @@ SplineBase::SegLenghtMethtod SplineBase::seglengths[SplineBase::ModesEnd] =
&SplineBase::SegLengthLinear,
&SplineBase::SegLengthCatmullRom,
&SplineBase::SegLengthBezier3,
- (SegLenghtMethtod)&SplineBase::UninitializedSpline,
+ &SplineBase::UninitializedSplineSegLenghtMethod,
};
SplineBase::InitMethtod SplineBase::initializers[SplineBase::ModesEnd] =
@@ -52,7 +52,7 @@ SplineBase::InitMethtod SplineBase::initializers[SplineBase::ModesEnd] =
&SplineBase::InitCatmullRom, // we should use catmullrom initializer even for linear mode! (client's internal structure limitation)
&SplineBase::InitCatmullRom,
&SplineBase::InitBezier3,
- (InitMethtod)&SplineBase::UninitializedSpline,
+ &SplineBase::UninitializedSplineInitMethod,
};
///////////
diff --git a/src/server/game/Movement/Spline/Spline.h b/src/server/game/Movement/Spline/Spline.h
index 5134c0d1b46..5f31115b2af 100644
--- a/src/server/game/Movement/Spline/Spline.h
+++ b/src/server/game/Movement/Spline/Spline.h
@@ -83,7 +83,9 @@ protected:
typedef void (SplineBase::*InitMethtod)(const Vector3*, index_type, index_type);
static InitMethtod initializers[ModesEnd];
- void UninitializedSpline() const { ABORT();}
+ void UninitializedSplineEvaluationMethod(index_type, float, Vector3&) const { ABORT(); }
+ float UninitializedSplineSegLenghtMethod(index_type) const { ABORT(); return 0.0f; }
+ void UninitializedSplineInitMethod(Vector3 const*, index_type, index_type) { ABORT(); }
public:
diff --git a/src/server/game/Server/Packets/GuildPackets.h b/src/server/game/Server/Packets/GuildPackets.h
index 8d5e28a2b18..5762f2b7971 100644
--- a/src/server/game/Server/Packets/GuildPackets.h
+++ b/src/server/game/Server/Packets/GuildPackets.h
@@ -931,7 +931,7 @@ namespace WorldPackets
uint32 CompletedDate = 0;
int32 Type = 0;
int32 Flags = 0;
- std::array<int32, 2> Data;
+ std::array<int32, 2> Data = { };
ObjectGuid MemberGuid;
std::vector<ObjectGuid> MemberList;
Optional<Item::ItemInstance> Item;
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
index 9281d012f55..7e02a18cb82 100644
--- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp
+++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
@@ -671,6 +671,7 @@ void AuraEffect::CalculatePeriodic(Unit* caster, bool resetPeriodicTimer /*= tru
// 3 spells have no amplitude set
if (!m_period)
m_period = 1 * IN_MILLISECONDS;
+ /* fallthrough */
case SPELL_AURA_PERIODIC_DAMAGE:
case SPELL_AURA_PERIODIC_HEAL:
case SPELL_AURA_OBS_MOD_HEALTH:
diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp
index 175959a15d4..54f520b5e85 100644
--- a/src/server/game/Spells/Auras/SpellAuras.cpp
+++ b/src/server/game/Spells/Auras/SpellAuras.cpp
@@ -2334,7 +2334,7 @@ void UnitAura::FillTargetMap(std::unordered_map<Unit*, uint32>& targets, Unit* c
}
case SPELL_EFFECT_APPLY_AREA_AURA_PET:
units.push_back(GetUnitOwner());
- // no break
+ /* fallthrough */
case SPELL_EFFECT_APPLY_AREA_AURA_OWNER:
{
if (Unit* owner = GetUnitOwner()->GetCharmerOrOwner())
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index aa4454de7f9..290361471da 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -3035,7 +3035,7 @@ void Spell::cancel()
{
case SPELL_STATE_PREPARING:
CancelGlobalCooldown();
- // no break
+ /* fallthrough */
case SPELL_STATE_DELAYED:
SendInterrupted(0);
SendCastResult(SPELL_FAILED_INTERRUPTED);
@@ -5454,7 +5454,8 @@ SpellCastResult Spell::CheckCast(bool strict, uint32* param1 /*= nullptr*/, uint
case SUMMON_CATEGORY_PET:
if (!m_spellInfo->HasAttribute(SPELL_ATTR1_DISMISS_PET) && !m_caster->GetPetGUID().IsEmpty())
return SPELL_FAILED_ALREADY_HAVE_SUMMON;
- // intentional missing break, check both GetPetGUID() and GetCharmGUID for SUMMON_CATEGORY_PET
+ /* fallthrough */
+ // intentional, check both GetPetGUID() and GetCharmGUID for SUMMON_CATEGORY_PET
case SUMMON_CATEGORY_PUPPET:
if (!m_caster->GetCharmGUID().IsEmpty())
return SPELL_FAILED_ALREADY_HAVE_CHARM;
@@ -6508,7 +6509,7 @@ SpellCastResult Spell::CheckItems(uint32* param1 /*= nullptr*/, uint32* param2 /
return SPELL_FAILED_DONT_REPORT;
}
}
- // no break
+ /* fallthrough */
case SPELL_EFFECT_ENCHANT_ITEM_PRISMATIC:
{
Item* targetItem = m_targets.GetItemTarget();
@@ -7862,7 +7863,7 @@ bool WorldObjectSpellTargetCheck::operator()(WorldObject* target)
case TARGET_CHECK_RAID_CLASS:
if (_referer->getClass() != unitTarget->getClass())
return false;
- // nobreak;
+ /* fallthrough */
case TARGET_CHECK_RAID:
if (unitTarget->IsTotem())
return false;
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index b9f26ed4e08..04134692877 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -2713,6 +2713,7 @@ void SpellInfo::_LoadSpellSpecific()
/// @workaround For non-stacking tracking spells (We need generic solution)
if (Id == 30645) // Gas Cloud Tracking
return SPELL_SPECIFIC_NORMAL;
+ /* fallthrough */
case SPELL_AURA_TRACK_RESOURCES:
case SPELL_AURA_TRACK_STEALTHED:
return SPELL_SPECIFIC_TRACKER;
@@ -3244,7 +3245,7 @@ void SpellInfo::_LoadImmunityInfo()
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_CONFUSE);
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_FEAR);
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_ROOT_2);
- // no break intended
+ /* fallthrough */
case 61869: // Overload
case 63481:
case 61887: // Lightning Tendrils
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index eb2621954cf..c00b07a157f 100644
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -2646,7 +2646,6 @@ void SpellMgr::LoadSpellInfoCustomAttributes()
case SPELL_EFFECT_APPLY_AREA_AURA_ENEMY:
case SPELL_EFFECT_APPLY_AREA_AURA_PET:
case SPELL_EFFECT_APPLY_AREA_AURA_OWNER:
- {
if (effect->ApplyAuraName == SPELL_AURA_PERIODIC_DAMAGE ||
effect->ApplyAuraName == SPELL_AURA_PERIODIC_DAMAGE_PERCENT ||
effect->ApplyAuraName == SPELL_AURA_DUMMY ||
@@ -2654,7 +2653,7 @@ void SpellMgr::LoadSpellInfoCustomAttributes()
effect->ApplyAuraName == SPELL_AURA_PERIODIC_HEALTH_FUNNEL ||
effect->ApplyAuraName == SPELL_AURA_PERIODIC_DUMMY)
break;
- }
+ /* fallthrough */
default:
{
// No value and not interrupt cast or crowd control without SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY flag
diff --git a/src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp b/src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp
index bc96be615eb..d14fa3065e1 100644
--- a/src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp
+++ b/src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp
@@ -116,11 +116,8 @@ enum AnimKits
ANIM_KIT_ID_CANNON_DESTROYED = 13264
};
-enum TargetSize : uint8
-{
- MIN_TARGETS_SIZE = 2,
- MAX_TARGETS_SIZE = 6
-};
+constexpr uint8 MIN_TARGETS_SIZE = 2;
+constexpr uint8 MAX_TARGETS_SIZE = 6;
enum Misc
{
@@ -866,7 +863,7 @@ class spell_garothi_cannon_chooser : public SpellScript
else if ((lastCannonEntry == NPC_DECIMATOR && annihilator) || (annihilator && !decimator))
{
uint8 count = caster->GetMap()->GetDifficultyID() == DIFFICULTY_MYTHIC_RAID ? MAX_TARGETS_SIZE :
- std::max<uint8>(MIN_TARGETS_SIZE, std::ceil(caster->GetMap()->GetPlayersCountExceptGMs() / 5));
+ std::max<uint8>(MIN_TARGETS_SIZE, std::ceil(float(caster->GetMap()->GetPlayersCountExceptGMs()) / 5));
for (uint8 i = 0; i < count; i++)
{
diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp b/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp
index 5ef89e39c47..4de12767b62 100644
--- a/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp
+++ b/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp
@@ -61,7 +61,7 @@ class instance_halls_of_origination : public InstanceMapScript
{
case GO_ANHUURS_BRIDGE:
AnhuursBridgeGUID = go->GetGUID();
- // no break
+ /* fallthrough */
case GO_DOODAD_ULDUM_ELEVATOR_COL01:
case GO_VAULT_OF_LIGHTS_DOOR:
case GO_DOODAD_ULDUM_LIGHTMACHINE_01:
diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp
index 20d5fb31681..640fcfa3d23 100644
--- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp
@@ -779,7 +779,7 @@ struct npc_hadronox_foeAI : public ScriptedAI
me->GetMotionMaster()->MovePoint(MOVE_DOWNSTAIRS_2, downstairsMoves2[_mySpawn]);
break;
}
- // intentional missing break
+ /* fallthrough */
case MOVE_HADRONOX:
case MOVE_HADRONOX_REAL:
{
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp
index 334b91eff20..8dddd60e7ff 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp
@@ -136,7 +136,7 @@ class boss_general_zarithrian : public CreatureScript
{
case EVENT_SUMMON_ADDS:
Talk(SAY_ADDS);
- // no break
+ /* fallthrough */
case EVENT_SUMMON_ADDS2:
{
if (Creature* stalker1 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ZARITHRIAN_SPAWN_STALKER_1)))
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp
index 4a344e9a9e2..483a82898be 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp
@@ -163,7 +163,7 @@ class instance_halls_of_reflection : public InstanceMapScript
case NPC_WORLD_TRIGGER:
if (!creature->GetTransport())
break;
- // no break
+ /* fallthrough */
case NPC_GUNSHIP_CANNON_HORDE:
GunshipCannonGUIDs.insert(creature->GetGUID());
break;
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
index 1ab35165e5a..11b5ad24e9a 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
@@ -231,7 +231,7 @@ class boss_lord_marrowgar : public CreatureScript
me->SetSpeedRate(MOVE_RUN, _baseSpeed*3.0f);
Talk(SAY_BONE_STORM);
events.ScheduleEvent(EVENT_BONE_STORM_END, _boneStormDuration+1);
- // no break here
+ /* fallthrough */
case EVENT_BONE_STORM_MOVE:
{
events.ScheduleEvent(EVENT_BONE_STORM_MOVE, _boneStormDuration/3);
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
index 7c776cc1df4..5dce834d7b5 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
@@ -248,7 +248,7 @@ class instance_icecrown_citadel : public InstanceMapScript
case NPC_SE_HIGH_OVERLORD_SAURFANG:
if (TeamInInstance == ALLIANCE)
creature->UpdateEntry(NPC_SE_MURADIN_BRONZEBEARD, creature->GetCreatureData());
- // no break;
+ /* fallthrough */
case NPC_SE_MURADIN_BRONZEBEARD:
DeathbringerSaurfangEventGUID = creature->GetGUID();
creature->LastUsedScriptID = creature->GetScriptId();
@@ -1208,7 +1208,7 @@ class instance_icecrown_citadel : public InstanceMapScript
case DATA_THE_LICH_KING:
if (GetBossState(DATA_PROFESSOR_PUTRICIDE) != DONE)
return false;
- // no break
+ /* fallthrough */
case DATA_PROFESSOR_PUTRICIDE:
if (GetBossState(DATA_FESTERGUT) != DONE || GetBossState(DATA_ROTFACE) != DONE)
return false;
@@ -1227,7 +1227,7 @@ class instance_icecrown_citadel : public InstanceMapScript
case DATA_THE_LICH_KING:
if (GetBossState(DATA_BLOOD_QUEEN_LANA_THEL) != DONE)
return false;
- // no break
+ /* fallthrough */
case DATA_BLOOD_QUEEN_LANA_THEL:
if (GetBossState(DATA_BLOOD_PRINCE_COUNCIL) != DONE)
return false;
@@ -1246,7 +1246,7 @@ class instance_icecrown_citadel : public InstanceMapScript
case DATA_THE_LICH_KING:
if (GetBossState(DATA_SINDRAGOSA) != DONE)
return false;
- // no break
+ /* fallthrough */
case DATA_SINDRAGOSA:
if (GetBossState(DATA_VALITHRIA_DREAMWALKER) != DONE)
return false;
@@ -1272,19 +1272,19 @@ class instance_icecrown_citadel : public InstanceMapScript
case DATA_FESTERGUT:
if (GetBossState(DATA_DEATHBRINGER_SAURFANG) != DONE)
return false;
- // no break
+ /* fallthrough */
case DATA_DEATHBRINGER_SAURFANG:
if (GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) != DONE)
return false;
- // no break
+ /* fallthrough */
case DATA_ICECROWN_GUNSHIP_BATTLE:
if (GetBossState(DATA_LADY_DEATHWHISPER) != DONE)
return false;
- // no break
+ /* fallthrough */
case DATA_LADY_DEATHWHISPER:
if (GetBossState(DATA_LORD_MARROWGAR) != DONE)
return false;
- // no break
+ /* fallthrough */
case DATA_LORD_MARROWGAR:
default:
break;
@@ -1415,7 +1415,7 @@ class instance_icecrown_citadel : public InstanceMapScript
case EVENT_ENEMY_GUNSHIP_COMBAT:
if (Creature* captain = source->FindNearestCreature(TeamInInstance == HORDE ? NPC_IGB_HIGH_OVERLORD_SAURFANG : NPC_IGB_MURADIN_BRONZEBEARD, 100.0f))
captain->AI()->DoAction(ACTION_ENEMY_GUNSHIP_TALK);
- // no break;
+ /* fallthrough */
case EVENT_PLAYERS_GUNSHIP_SPAWN:
case EVENT_PLAYERS_GUNSHIP_COMBAT:
if (GameObject* go = source->ToGameObject())
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
index 1d31e977a4d..46da6614e39 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
@@ -589,7 +589,7 @@ struct npc_gothik_minion_baseAI : public ScriptedAI
{
case ACTION_GATE_OPENED:
_gateIsOpen = true;
- // intentional missing break
+ /* fallthrough */
case ACTION_ACQUIRE_TARGET:
if (Player* target = FindEligibleTarget(me, _gateIsOpen))
{
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
index 20fee82c3b5..690a1ecdbfc 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
@@ -735,7 +735,7 @@ class boss_leviathan_mk_ii : public CreatureScript
DoCast(me, SPELL_EMERGENCY_MODE);
DoCastAOE(SPELL_EMERGENCY_MODE_TURRET);
events.ScheduleEvent(EVENT_FLAME_SUPPRESSANT_MK, 60000, 0, PHASE_LEVIATHAN_MK_II);
- // Missing break intended.
+ /* fallthrough */
case DO_START_MKII:
me->SetReactState(REACT_AGGRESSIVE);
events.SetPhase(PHASE_LEVIATHAN_MK_II);
@@ -979,7 +979,7 @@ class boss_vx_001 : public CreatureScript
DoCast(me, SPELL_EMERGENCY_MODE);
events.ScheduleEvent(EVENT_FROST_BOMB, 1000);
events.ScheduleEvent(EVENT_FLAME_SUPPRESSANT_VX, 6000);
- // Missing break intended.
+ /* fallthrough */
case DO_START_VX001:
me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_IMMUNE_TO_PC));
me->RemoveAurasDueToSpell(SPELL_FREEZE_ANIM);
@@ -1156,7 +1156,7 @@ class boss_aerial_command_unit : public CreatureScript
fireFigther = true;
DoCast(me, SPELL_EMERGENCY_MODE);
events.ScheduleEvent(EVENT_SUMMON_FIRE_BOTS, 1000, 0, PHASE_AERIAL_COMMAND_UNIT);
- // Missing break intended.
+ /* fallthrough */
case DO_START_AERIAL:
me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_IMMUNE_TO_PC));
me->SetReactState(REACT_AGGRESSIVE);
diff --git a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
index 26fd92db4b9..ab209d3287c 100644
--- a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
+++ b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
@@ -738,7 +738,7 @@ class instance_violet_hold : public InstanceMapScript
guard->AddUnitFlag(UnitFlags(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC));
}
}
- // no break
+ /* fallthrough */
default:
if (boss->isDead())
{
diff --git a/src/server/scripts/Northrend/zone_sholazar_basin.cpp b/src/server/scripts/Northrend/zone_sholazar_basin.cpp
index acbbb2bc802..01285e18a61 100644
--- a/src/server/scripts/Northrend/zone_sholazar_basin.cpp
+++ b/src/server/scripts/Northrend/zone_sholazar_basin.cpp
@@ -791,9 +791,7 @@ public:
Creature* crunchy = shooter->FindNearestCreature(NPC_CRUNCHY, 30);
Creature* bird = shooter->FindNearestCreature(NPC_THICKBIRD, 30);
- if (!bird || !crunchy)
- ; // fall to EVENT_MISS
- else
+ if (bird && crunchy)
{
shooter->CastSpell(bird, SPELL_MISS_BIRD_APPLE);
bird->CastSpell(bird, SPELL_BIRD_FALL);
@@ -804,10 +802,10 @@ public:
crunchy->GetMotionMaster()->MovePoint(0, bird->GetPositionX(), bird->GetPositionY(),
bird->GetMap()->GetWaterOrGroundLevel(bird->GetPhaseShift(), bird->GetPositionX(), bird->GetPositionY(), bird->GetPositionZ()));
/// @todo Make crunchy perform emote eat when he reaches the bird
-
break;
}
}
+ /* fallthrough */
case EVENT_MISS:
{
shooter->CastSpell(wilhelm, SPELL_MISS_APPLE);
diff --git a/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp b/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp
index 66600ccb4d0..21197f01c81 100644
--- a/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp
+++ b/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp
@@ -176,7 +176,7 @@ class instance_black_temple : public InstanceMapScript
for (ObjectGuid ashtongueGuid : AshtongueGUIDs)
if (Creature* ashtongue = instance->GetCreature(ashtongueGuid))
ashtongue->SetFaction(ASHTONGUE_FACTION_FRIEND);
- // no break
+ /* fallthrough */
case DATA_TERON_GOREFIEND:
case DATA_GURTOGG_BLOODBOIL:
case DATA_RELIQUARY_OF_SOULS:
diff --git a/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp b/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp
index 1c03c169efd..b413d805e0f 100644
--- a/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp
+++ b/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp
@@ -59,7 +59,7 @@ class instance_gruuls_lair : public InstanceMapScript
{
case NPC_MAULGAR:
MaulgarGUID = creature->GetGUID();
- // no break;
+ /* fallthrough */
case NPC_KROSH_FIREHAND:
case NPC_OLM_THE_SUMMONER:
case NPC_KIGGLER_THE_CRAZED:
diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp
index d0fabf1dd5b..8d52d7dd09b 100644
--- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp
@@ -86,7 +86,7 @@ class instance_blood_furnace : public InstanceMapScript
{
case GO_PRISON_DOOR_04:
PrisonDoor4GUID = go->GetGUID();
- // no break
+ /* fallthrough */
case GO_PRISON_DOOR_01:
case GO_PRISON_DOOR_02:
case GO_PRISON_DOOR_03:
diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.cpp
index 7f3aab941af..3a065b246ac 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.cpp
@@ -143,10 +143,13 @@ class boss_shattered_executioner : public CreatureScript
{
case 3:
me->RemoveLootMode(LOOT_MODE_HARD_MODE_1);
+ /* fallthrough */
case 2:
me->RemoveLootMode(LOOT_MODE_HARD_MODE_2);
+ /* fallthrough */
case 1:
me->RemoveLootMode(LOOT_MODE_HARD_MODE_3);
+ break;
}
}
}
diff --git a/src/tools/vmap4_extractor/gameobject_extract.cpp b/src/tools/vmap4_extractor/gameobject_extract.cpp
index f96c0fd2c08..6575f5129dd 100644
--- a/src/tools/vmap4_extractor/gameobject_extract.cpp
+++ b/src/tools/vmap4_extractor/gameobject_extract.cpp
@@ -62,13 +62,6 @@ bool ExtractSingleModel(std::string& fname)
extern std::shared_ptr<CASC::Storage> CascStorage;
-enum ModelTypes : uint32
-{
- MODEL_MD20 = '02DM',
- MODEL_MD21 = '12DM',
- MODEL_WMO = 'MVER'
-};
-
bool GetHeaderMagic(std::string const& fileName, uint32* magic)
{
*magic = 0;
@@ -125,12 +118,12 @@ void ExtractGameobjectModels()
continue;
uint8 isWmo = 0;
- if (header == MODEL_WMO)
+ if (!memcmp(&header, "REVM", 4))
{
isWmo = 1;
result = ExtractSingleWmo(fileName);
}
- else if (header == MODEL_MD20 || header == MODEL_MD21)
+ else if (!memcmp(&header, "MD20", 4) || !memcmp(&header, "MD21", 4))
result = ExtractSingleModel(fileName);
else
ASSERT(false, "%s header: %d - %c%c%c%c", fileName.c_str(), header, (header >> 24) & 0xFF, (header >> 16) & 0xFF, (header >> 8) & 0xFF, header & 0xFF);
diff --git a/src/tools/vmap4_extractor/model.cpp b/src/tools/vmap4_extractor/model.cpp
index 81f1e332d75..3dd206968f3 100644
--- a/src/tools/vmap4_extractor/model.cpp
+++ b/src/tools/vmap4_extractor/model.cpp
@@ -29,9 +29,8 @@
extern std::shared_ptr<CASC::Storage> CascStorage;
-Model::Model(std::string &filename) : filename(filename), vertices(0), indices(0)
+Model::Model(std::string &filename) : filename(filename), header(), vertices(nullptr), indices(nullptr)
{
- memset(&header, 0, sizeof(header));
}
bool Model::open()
@@ -50,7 +49,7 @@ bool Model::open()
uint32 m2start = 0;
char const* ptr = f.getBuffer();
- while (m2start + 4 < f.getSize() && *reinterpret_cast<uint32 const*>(ptr) != '02DM')
+ while (m2start + 4 < f.getSize() && memcmp(ptr, "MD20", 4) != 0)
{
++m2start;
++ptr;
@@ -154,7 +153,7 @@ Vec3D fixCoordSystem(Vec3D const& v)
void Doodad::Extract(ADT::MDDF const& doodadDef, char const* ModelInstName, uint32 mapID, uint32 originalMapId, FILE* pDirfile, std::vector<ADTOutputCache>* dirfileCache)
{
- char tempname[512];
+ char tempname[1036];
sprintf(tempname, "%s/%s", szWorkDirWmo, ModelInstName);
FILE* input = fopen(tempname, "r+b");
@@ -262,7 +261,7 @@ void Doodad::ExtractSet(WMODoodadData const& doodadData, ADT::MODF const& wmo, b
}
}
- char tempname[512];
+ char tempname[1036];
sprintf(tempname, "%s/%s", szWorkDirWmo, ModelInstName);
FILE* input = fopen(tempname, "r+b");
if (!input)
diff --git a/src/tools/vmap4_extractor/vec3d.h b/src/tools/vmap4_extractor/vec3d.h
index 2c93018091c..8bb822d9d4c 100644
--- a/src/tools/vmap4_extractor/vec3d.h
+++ b/src/tools/vmap4_extractor/vec3d.h
@@ -28,14 +28,9 @@ public:
Vec3D(float x0 = 0.0f, float y0 = 0.0f, float z0 = 0.0f) : x(x0), y(y0), z(z0) {}
- Vec3D(const Vec3D& v) : x(v.x), y(v.y), z(v.z) {}
+ Vec3D(const Vec3D& v) = default;
- Vec3D& operator= (const Vec3D &v) {
- x = v.x;
- y = v.y;
- z = v.z;
- return *this;
- }
+ Vec3D& operator= (const Vec3D &v) = default;
Vec3D operator+ (const Vec3D &v) const
{
@@ -157,13 +152,9 @@ public:
Vec2D(float x0 = 0.0f, float y0 = 0.0f) : x(x0), y(y0) {}
- Vec2D(const Vec2D& v) : x(v.x), y(v.y) {}
+ Vec2D(const Vec2D& v) = default;
- Vec2D& operator= (const Vec2D &v) {
- x = v.x;
- y = v.y;
- return *this;
- }
+ Vec2D& operator= (const Vec2D &v) = default;
Vec2D operator+ (const Vec2D &v) const
{