diff options
-rw-r--r-- | dep/g3dlite/source/g3dmath.cpp | 2 | ||||
-rwxr-xr-x | src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp | 5 | ||||
-rwxr-xr-x | src/server/game/Entities/Totem/Totem.cpp | 6 | ||||
-rwxr-xr-x | src/server/game/Entities/Unit/Unit.cpp | 18 | ||||
-rwxr-xr-x | src/server/game/Maps/Map.cpp | 4 | ||||
-rwxr-xr-x | src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp | 5 | ||||
-rwxr-xr-x | src/server/game/Spells/Auras/SpellAuras.cpp | 1 | ||||
-rwxr-xr-x | src/server/game/Spells/Spell.cpp | 5 | ||||
-rw-r--r-- | src/server/game/Spells/SpellInfo.cpp | 2 | ||||
-rw-r--r-- | src/server/scripts/Northrend/dragonblight.cpp | 2 | ||||
-rw-r--r-- | src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp | 2 | ||||
-rw-r--r-- | src/server/shared/Debugging/WheatyExceptionReport.cpp | 11 | ||||
-rw-r--r-- | src/server/shared/Logging/AppenderConsole.cpp | 4 | ||||
-rwxr-xr-x | src/server/shared/Utilities/Util.cpp | 2 | ||||
-rwxr-xr-x | src/server/shared/Utilities/Util.h | 18 |
15 files changed, 44 insertions, 43 deletions
diff --git a/dep/g3dlite/source/g3dmath.cpp b/dep/g3dlite/source/g3dmath.cpp index 84e8345bff4..e846f8c6080 100644 --- a/dep/g3dlite/source/g3dmath.cpp +++ b/dep/g3dlite/source/g3dmath.cpp @@ -41,7 +41,7 @@ double inf() { } bool isNaN(float x) { - static const float n = nan(); + static const float n = fnan(); return memcmp(&x, &n, sizeof(float)) == 0; } diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp index fa36f0b02aa..365ffb853d2 100755 --- a/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp @@ -371,9 +371,10 @@ void BattlegroundAB::_NodeOccupied(uint8 node, Team team) if (node >= BG_AB_DYNAMIC_NODES_COUNT)//only dynamic nodes, no start points return; - Creature* trigger = GetBGCreature(node+7);//0-6 spirit guides + + Creature* trigger = BgCreatures[node+7] ? GetBGCreature(node+7) : NULL;//0-6 spirit guides if (!trigger) - trigger = AddCreature(WORLD_TRIGGER, node+7, team, BG_AB_NodePositions[node][0], BG_AB_NodePositions[node][1], BG_AB_NodePositions[node][2], BG_AB_NodePositions[node][3]); + trigger = AddCreature(WORLD_TRIGGER, node+7, team, BG_AB_NodePositions[node][0], BG_AB_NodePositions[node][1], BG_AB_NodePositions[node][2], BG_AB_NodePositions[node][3]); //add bonus honor aura trigger creature when node is accupied //cast bonus aura (+50% honor in 25yards) diff --git a/src/server/game/Entities/Totem/Totem.cpp b/src/server/game/Entities/Totem/Totem.cpp index a9a0484a4ea..d5d1bd99277 100755 --- a/src/server/game/Entities/Totem/Totem.cpp +++ b/src/server/game/Entities/Totem/Totem.cpp @@ -98,6 +98,12 @@ void Totem::InitSummon() void Totem::UnSummon(uint32 msTime) { + if (msTime) + { + m_Events.AddEvent(new ForcedUnsummonDelayEvent(*this), m_Events.CalculateTime(msTime)); + return; + } + CombatStop(); RemoveAurasDueToSpell(GetSpell(), GetGUID()); diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 8c372bad34a..8e161551f40 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -11051,19 +11051,21 @@ bool Unit::_IsValidAttackTarget(Unit const* target, SpellInfo const* bySpell, Wo if (GetReactionTo(target) == REP_NEUTRAL && target->GetReactionTo(this) == REP_NEUTRAL) { - if ( - !(target->GetTypeId() == TYPEID_PLAYER && GetTypeId() == TYPEID_PLAYER) && - !(target->GetTypeId() == TYPEID_UNIT && GetTypeId() == TYPEID_UNIT) - ) + if (!(target->GetTypeId() == TYPEID_PLAYER && GetTypeId() == TYPEID_PLAYER) && + !(target->GetTypeId() == TYPEID_UNIT && GetTypeId() == TYPEID_UNIT)) { Player const* player = target->GetTypeId() == TYPEID_PLAYER ? target->ToPlayer() : ToPlayer(); Unit const* creature = target->GetTypeId() == TYPEID_UNIT ? target : this; if (FactionTemplateEntry const* factionTemplate = creature->getFactionTemplateEntry()) - if (FactionEntry const* factionEntry = sFactionStore.LookupEntry(factionTemplate->faction)) - if (FactionState const* repState = player->GetReputationMgr().GetState(factionEntry)) - if (!(repState->Flags & FACTION_FLAG_AT_WAR)) - return false; + { + if (!(player->GetReputationMgr().GetForcedRankIfAny(factionTemplate))) + if (FactionEntry const* factionEntry = sFactionStore.LookupEntry(factionTemplate->faction)) + if (FactionState const* repState = player->GetReputationMgr().GetState(factionEntry)) + if (!(repState->Flags & FACTION_FLAG_AT_WAR)) + return false; + + } } } diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index 6b115878135..2d56c859e44 100755 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -1223,8 +1223,8 @@ bool GridMap::loadLiquidData(FILE* in, uint32 offset, uint32 /*size*/) } if (!(header.flags & MAP_LIQUID_NO_HEIGHT)) { - _liquidMap = new float[_liquidWidth*_liquidHeight]; - if (fread(_liquidMap, sizeof(float), _liquidWidth*_liquidHeight, in) != _liquidWidth*_liquidHeight) + _liquidMap = new float[uint32(_liquidWidth) * uint32(_liquidHeight)]; + if (fread(_liquidMap, sizeof(float), _liquidWidth*_liquidHeight, in) != (uint32(_liquidWidth) * uint32(_liquidHeight))) return false; } return true; diff --git a/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp index 7e130a2c143..56818e95a2b 100755 --- a/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp @@ -140,7 +140,12 @@ bool FleeingMovementGenerator<T>::_getPoint(T &owner, float &x, float &y, float angle = i_cur_angle + static_cast<float>(M_PI); distance /= 2; break; + default: + angle = 0.0f; + distance = 0.0f; + break; } + temp_x = x + distance * cos(angle); temp_y = y + distance * sin(angle); Trinity::NormalizeMapCoord(temp_x); diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp index 22202d11a94..d3044d0fedb 100755 --- a/src/server/game/Spells/Auras/SpellAuras.cpp +++ b/src/server/game/Spells/Auras/SpellAuras.cpp @@ -1803,6 +1803,7 @@ void Aura::LoadScripts() { std::list<AuraScript*>::iterator bitr = itr; ++itr; + delete (*bitr); m_loadedScripts.erase(bitr); continue; } diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 1655256666f..8a093bce2b9 100755 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -3003,7 +3003,7 @@ void Spell::prepare(SpellCastTargets const* targets, AuraEffect const* triggered if (m_caster->GetTypeId() == TYPEID_PLAYER) { m_caster->ToPlayer()->SetSpellModTakingSpell(this, false); - + // Set casttime to 0 if .cheat casttime is enabled. if (m_caster->ToPlayer()->GetCommandStatus(CHEAT_CASTTIME)) m_casttime = 0; @@ -3301,7 +3301,7 @@ void Spell::cast(bool skipCheck) if (m_caster->GetTypeId() == TYPEID_PLAYER) { m_caster->ToPlayer()->SetSpellModTakingSpell(this, false); - + //Clear spell cooldowns after every spell is cast if .cheat cooldown is enabled. if (m_caster->ToPlayer()->GetCommandStatus(CHEAT_COOLDOWN)) m_caster->ToPlayer()->RemoveSpellCooldown(m_spellInfo->Id, true); @@ -6908,6 +6908,7 @@ void Spell::LoadScripts() { std::list<SpellScript*>::iterator bitr = itr; ++itr; + delete (*bitr); m_loadedScripts.erase(bitr); continue; } diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index 8fa008da823..21bffaee433 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -367,7 +367,7 @@ bool SpellEffectInfo::IsAura() const bool SpellEffectInfo::IsAura(AuraType aura) const { - return IsAura() && AuraType(ApplyAuraName) == aura; + return IsAura() && AuraType(ApplyAuraName) == uint32(aura); } bool SpellEffectInfo::IsTargetingArea() const diff --git a/src/server/scripts/Northrend/dragonblight.cpp b/src/server/scripts/Northrend/dragonblight.cpp index 1f1d24453ee..a26ee4e9270 100644 --- a/src/server/scripts/Northrend/dragonblight.cpp +++ b/src/server/scripts/Northrend/dragonblight.cpp @@ -190,7 +190,7 @@ class npc_wyrmrest_defender : public CreatureScript npc_wyrmrest_defender() : CreatureScript("npc_wyrmrest_defender") { } bool OnGossipHello(Player* player, Creature* creature) - { + { if (player->GetQuestStatus(QUEST_DEFENDING_WYRMREST_TEMPLE) == QUEST_STATUS_INCOMPLETE) { player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp index 84d292e1fe4..b42641c5171 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp @@ -160,7 +160,7 @@ class go_broggok_lever : public GameObjectScript public: go_broggok_lever() : GameObjectScript("go_broggok_lever") {} - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* /*player*/, GameObject* go) { if (InstanceScript* instance = go->GetInstanceScript()) if (instance->GetData(TYPE_BROGGOK_EVENT) != DONE && instance->GetData(TYPE_BROGGOK_EVENT) != IN_PROGRESS) diff --git a/src/server/shared/Debugging/WheatyExceptionReport.cpp b/src/server/shared/Debugging/WheatyExceptionReport.cpp index febc5ef3573..96a115f8057 100644 --- a/src/server/shared/Debugging/WheatyExceptionReport.cpp +++ b/src/server/shared/Debugging/WheatyExceptionReport.cpp @@ -409,11 +409,12 @@ void WheatyExceptionReport::printTracesForAllThreads() CONTEXT context; context.ContextFlags = 0xffffffff; HANDLE threadHandle = OpenThread(THREAD_GET_CONTEXT | THREAD_QUERY_INFORMATION, false, te32.th32ThreadID); - if (threadHandle && GetThreadContext(threadHandle, &context)) + if (threadHandle) { - WriteStackDetails(&context, false, threadHandle); + if (GetThreadContext(threadHandle, &context)) + WriteStackDetails(&context, false, threadHandle); + CloseHandle(threadHandle); } - CloseHandle(threadHandle); } } while (Thread32Next(hThreadSnap, &te32)); @@ -521,7 +522,7 @@ PEXCEPTION_POINTERS pExceptionInfo) _tprintf(_T("Global Variables\r\n")); SymEnumSymbols(GetCurrentProcess(), - (DWORD64)GetModuleHandle(szFaultingModule), + (UINT_PTR)GetModuleHandle(szFaultingModule), 0, EnumerateSymbolsCallback, 0); // #endif // X86 Only! @@ -989,7 +990,7 @@ PVOID pAddress) if (!IsBadStringPtr(*(PSTR*)pAddress, 32)) { pszCurrBuffer += sprintf(pszCurrBuffer, " = \"%.31s\"", - *(PDWORD)pAddress); + *(PSTR*)pAddress); } else pszCurrBuffer += sprintf(pszCurrBuffer, " = %X", diff --git a/src/server/shared/Logging/AppenderConsole.cpp b/src/server/shared/Logging/AppenderConsole.cpp index 839f8512ad7..be6dc6c807f 100644 --- a/src/server/shared/Logging/AppenderConsole.cpp +++ b/src/server/shared/Logging/AppenderConsole.cpp @@ -59,7 +59,7 @@ void AppenderConsole::InitColors(std::string const& str) void AppenderConsole::SetColor(bool stdout_stream, ColorTypes color) { - #if PLATFORM == PLATFORWINDOWS + #if PLATFORM == PLATFORM_WINDOWS static WORD WinColorFG[MaxColors] = { 0, // BLACK @@ -146,7 +146,7 @@ void AppenderConsole::SetColor(bool stdout_stream, ColorTypes color) void AppenderConsole::ResetColor(bool stdout_stream) { - #if PLATFORM == PLATFORWINDOWS + #if PLATFORM == PLATFORM_WINDOWS HANDLE hConsole = GetStdHandle(stdout_stream ? STD_OUTPUT_HANDLE : STD_ERROR_HANDLE); SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED); #else diff --git a/src/server/shared/Utilities/Util.cpp b/src/server/shared/Utilities/Util.cpp index 9917bbb5309..89942b978df 100755 --- a/src/server/shared/Utilities/Util.cpp +++ b/src/server/shared/Utilities/Util.cpp @@ -92,7 +92,7 @@ Tokens::Tokens(const std::string &src, const char sep, uint32 vectorReserve) void stripLineInvisibleChars(std::string &str) { - static std::string invChars = " \t\7\n"; + static std::string const invChars = " \t\7\n"; size_t wpos = 0; diff --git a/src/server/shared/Utilities/Util.h b/src/server/shared/Utilities/Util.h index 196882dc2a0..64a89885350 100755 --- a/src/server/shared/Utilities/Util.h +++ b/src/server/shared/Utilities/Util.h @@ -51,7 +51,7 @@ std::string TimeToTimestampStr(time_t t); inline uint32 secsToTimeBitFields(time_t secs) { tm* lt = localtime(&secs); - return (lt->tm_year - 100) << 24 | lt->tm_mon << 20 | (lt->tm_mday - 1) << 14 | lt->tm_wday << 11 | lt->tm_hour << 6 | lt->tm_min; + return uint32((lt->tm_year - 100) << 24 | lt->tm_mon << 20 | (lt->tm_mday - 1) << 14 | lt->tm_wday << 11 | lt->tm_hour << 6 | lt->tm_min); } /* Return a random number in the range min..max; (max-min) must be smaller than 32768. */ @@ -89,22 +89,6 @@ inline bool roll_chance_i(int chance) return chance > irand(0, 99); } -inline void ApplyModUInt32Var(uint32& var, int32 val, bool apply) -{ - int32 cur = var; - cur += (apply ? val : -val); - if (cur < 0) - cur = 0; - var = cur; -} - -inline void ApplyModFloatVar(float& var, float val, bool apply) -{ - var += (apply ? val : -val); - if (var < 0) - var = 0; -} - inline void ApplyPercentModFloatVar(float& var, float val, bool apply) { if (val == -100.0f) // prevent set var to zero |