Various fixes (#21)

* Various fixes.
  - Fix PCH build on *nix
  - Silenced some compiler warnings

* Another small fixes.
  - Mails sent by various GM commands are now not returnable / respondable
  - Fix server startup issue due to incorrect map magic version.
This commit is contained in:
H0zen 2017-06-07 16:05:18 +03:00 committed by Antz
parent 23a6eb13d2
commit da3d3116c2
21 changed files with 45 additions and 48 deletions

2
dep

@ -1 +1 @@
Subproject commit c8074b24b465289e3980ca2812732df09fc6a0b0
Subproject commit 0430cca23a4e55efb6159a25ff47edb0ff496687

View File

@ -139,12 +139,13 @@ set(LIBRARY_SRCS
pchdef.h
)
if(PCH)
include_directories(${CMAKE_CURRENT_BINARY_DIR})
endif()
add_library(${LIBRARY_NAME} STATIC ${LIBRARY_SRCS})
# Generate precompiled header
if(PCH)
ADD_CXX_PCH(${LIBRARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/pchdef.h ${CMAKE_CURRENT_SOURCE_DIR}/pchdef.cpp)
endif()
target_link_libraries(${LIBRARY_NAME} shared detour)
if(UNIX)
@ -158,11 +159,6 @@ if(NOT ACE_USE_EXTERNAL)
add_dependencies(${LIBRARY_NAME} ace)
endif()
# Generate precompiled header
if(PCH)
ADD_CXX_PCH(${LIBRARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/pchdef.h ${CMAKE_CURRENT_SOURCE_DIR}/pchdef.cpp)
endif()
if(PLAYERBOTS)
include_directories(
${CMAKE_SOURCE_DIR}/src/modules/Bots/playerbot

View File

@ -1672,8 +1672,8 @@ bool ChatHandler::HandleSendMailCommand(char* args)
if (!HandleSendMailHelper(draft, args))
{ return false; }
// from console show nonexistent sender
MailSender sender(MAIL_NORMAL, m_session ? m_session->GetPlayer()->GetObjectGuid().GetCounter() : 0, MAIL_STATIONERY_GM);
// GM mail
MailSender sender(MAIL_NORMAL, 0, MAIL_STATIONERY_GM);
draft.SendMailTo(MailReceiver(target, target_guid), sender);

View File

@ -6293,8 +6293,8 @@ bool ChatHandler::HandleSendMassMailCommand(char* args)
return false;
}
// from console show nonexistent sender
MailSender sender(MAIL_NORMAL, m_session ? m_session->GetPlayer()->GetObjectGuid().GetCounter() : 0, MAIL_STATIONERY_GM);
// GM mail
MailSender sender(MAIL_NORMAL, 0, MAIL_STATIONERY_GM);
sMassMailMgr.AddMassMailTask(draft, sender, raceMask);
@ -6398,8 +6398,7 @@ bool ChatHandler::HandleSendItemsCommand(char* args)
if (!HandleSendItemsHelper(draft, args))
{ return false; }
// from console show nonexistent sender
MailSender sender(MAIL_NORMAL, m_session ? m_session->GetPlayer()->GetObjectGuid().GetCounter() : 0, MAIL_STATIONERY_GM);
MailSender sender(MAIL_NORMAL, 0, MAIL_STATIONERY_GM);
draft.SendMailTo(MailReceiver(receiver, receiver_guid), sender);
@ -6429,8 +6428,7 @@ bool ChatHandler::HandleSendMassItemsCommand(char* args)
return false;
}
// from console show nonexistent sender
MailSender sender(MAIL_NORMAL, m_session ? m_session->GetPlayer()->GetObjectGuid().GetCounter() : 0, MAIL_STATIONERY_GM);
MailSender sender(MAIL_NORMAL, 0, MAIL_STATIONERY_GM);
sMassMailMgr.AddMassMailTask(draft, sender, raceMask);
@ -6479,8 +6477,7 @@ bool ChatHandler::HandleSendMoneyCommand(char* args)
if (!HandleSendMoneyHelper(draft, args))
{ return false; }
// from console show nonexistent sender
MailSender sender(MAIL_NORMAL, m_session ? m_session->GetPlayer()->GetObjectGuid().GetCounter() : 0, MAIL_STATIONERY_GM);
MailSender sender(MAIL_NORMAL, 0, MAIL_STATIONERY_GM);
draft.SendMailTo(MailReceiver(receiver, receiver_guid), sender);
@ -6510,7 +6507,7 @@ bool ChatHandler::HandleSendMassMoneyCommand(char* args)
}
// from console show nonexistent sender
MailSender sender(MAIL_NORMAL, m_session ? m_session->GetPlayer()->GetObjectGuid().GetCounter() : 0, MAIL_STATIONERY_GM);
MailSender sender(MAIL_NORMAL, 0, MAIL_STATIONERY_GM);
sMassMailMgr.AddMassMailTask(draft, sender, raceMask);

View File

@ -174,7 +174,7 @@ void FleeingMovementGenerator<T>::Reset(T& owner)
template<class T>
bool FleeingMovementGenerator<T>::Update(T& owner, const uint32& time_diff)
{
if (!&owner || !owner.IsAlive())
if (!owner.IsAlive())
{ return false; }
// ignore in case other no reaction state

View File

@ -535,9 +535,9 @@ class Creature : public Unit
bool IsGuard() const { return GetCreatureInfo()->ExtraFlags & CREATURE_EXTRA_FLAG_GUARD; }
bool CanWalk() const { return GetCreatureInfo()->InhabitType & INHABIT_GROUND; }
bool CanSwim() const { return GetCreatureInfo()->InhabitType & INHABIT_WATER; }
virtual bool CanSwim() const override { return GetCreatureInfo()->InhabitType & INHABIT_WATER; }
bool IsSwimming() const { return (m_movementInfo.HasMovementFlag((MovementFlags)(MOVEFLAG_SWIMMING))); }
bool CanFly() const { return (GetCreatureInfo()->InhabitType & INHABIT_AIR) || m_movementInfo.HasMovementFlag((MovementFlags)(MOVEFLAG_LEVITATING | MOVEFLAG_CAN_FLY)); }
virtual bool CanFly() const override { return (GetCreatureInfo()->InhabitType & INHABIT_AIR) || m_movementInfo.HasMovementFlag((MovementFlags)(MOVEFLAG_LEVITATING | MOVEFLAG_CAN_FLY)); }
bool IsFlying() const { return (m_movementInfo.HasMovementFlag((MovementFlags)(MOVEFLAG_FLYING|MOVEFLAG_LEVITATING))); }
bool IsTrainerOf(Player* player, bool msg) const;
bool CanInteractWithBattleMaster(Player* player, bool msg) const;

View File

@ -381,7 +381,7 @@ struct CreatureAIFactory : public SelectableAI
CreatureAI* Create(void*) const override;
int Permit(const Creature* c) const { return REAL_AI::Permissible(c); }
virtual int Permit(const Creature* c) const override { return REAL_AI::Permissible(c); }
};
enum Permitions

View File

@ -655,7 +655,7 @@ class CreatureEventAI : public CreatureAI
void GetAIInformation(ChatHandler& reader) override;
void JustRespawned() override;
void Reset();
void Reset() override;
void JustReachedHome() override;
void EnterCombat(Unit* enemy) override;
void EnterEvadeMode() override;
@ -666,7 +666,7 @@ class CreatureEventAI : public CreatureAI
void MoveInLineOfSight(Unit* who) override;
void SpellHit(Unit* pUnit, const SpellEntry* pSpell) override;
void OnSpellCastChange(const SpellEntry* pSpell, SpellCastResult reason) override;
virtual CanCastResult DoCastSpellIfCan(Unit* pTarget, uint32 uiSpell, uint32 uiCastFlags = 0, ObjectGuid OriginalCasterGuid = ObjectGuid());
virtual CanCastResult DoCastSpellIfCan(Unit* pTarget, uint32 uiSpell, uint32 uiCastFlags = 0, ObjectGuid OriginalCasterGuid = ObjectGuid()) override;
void DamageTaken(Unit* done_by, uint32& damage) override;
void HealedBy(Unit* healer, uint32& healedAmount) override;
void UpdateAI(const uint32 diff) override;

View File

@ -188,7 +188,7 @@ class Pet : public Creature
void SetDeathState(DeathState s) override; // overwrite virtual Creature::SetDeathState and Unit::SetDeathState
void Update(uint32 update_diff, uint32 diff) override; // overwrite virtual Creature::Update and Unit::Update
uint8 GetPetAutoSpellSize() const { return m_autospells.size(); }
virtual uint8 GetPetAutoSpellSize() const override { return m_autospells.size(); }
uint32 GetPetAutoSpellOnPos(uint8 pos) const override
{
if (pos >= m_autospells.size())
@ -197,7 +197,7 @@ class Pet : public Creature
{ return m_autospells[pos]; }
}
bool CanSwim() const
virtual bool CanSwim() const override
{
Unit const* owner = GetOwner();
if (owner)
@ -206,7 +206,7 @@ class Pet : public Creature
{ return Creature::CanSwim(); }
}
bool CanFly() const { return false; } // pet are not able to fly. TODO: check if this is right
virtual bool CanFly() const override { return false; } // pet are not able to fly. TODO: check if this is right
void RegenerateAll(uint32 update_diff) override; // overwrite Creature::RegenerateAll
void LooseHappiness();
@ -288,7 +288,7 @@ class Pet : public Creature
void ResetAuraUpdateMask() { m_auraUpdateMask = 0; }
// overwrite Creature function for name localization back to WorldObject version without localization
const char* GetNameForLocaleIdx(int32 locale_idx) const { return WorldObject::GetNameForLocaleIdx(locale_idx); }
virtual const char* GetNameForLocaleIdx(int32 locale_idx) const override { return WorldObject::GetNameForLocaleIdx(locale_idx); }
bool m_removed; // prevent overwrite pet state in DB at next Pet::Update if pet already removed(saved)
protected:

View File

@ -1077,7 +1077,7 @@ class Player : public Unit
void RemovePet(PetSaveMode mode);
void RemoveMiniPet();
Pet* GetMiniPet() const;
virtual Pet* GetMiniPet() const override;
// use only in Pet::Unsummon/Spell::DoSummon
void _SetMiniPet(Pet* pet)
@ -2195,8 +2195,8 @@ class Player : public Unit
bool isMoving() const { return m_movementInfo.HasMovementFlag(movementFlagsMask); }
bool isMovingOrTurning() const { return m_movementInfo.HasMovementFlag(movementOrTurningFlagsMask); }
bool CanSwim() const { return true; }
bool CanFly() const { return false; }
virtual bool CanSwim() const override { return true; }
virtual bool CanFly() const override { return false; }
bool IsFlying() const { return false; }
bool IsFreeFlying() const { return false; }

View File

@ -37,7 +37,7 @@ class TemporarySummon : public Creature
void Update(uint32 update_diff, uint32 time) override;
void Summon(TempSummonType type, uint32 lifetime);
void UnSummon();
void SaveToDB();
void SaveToDB() override;
ObjectGuid const& GetSummonerGuid() const { return m_summoner ; }
Unit* GetSummoner() const { return ObjectAccessor::GetUnit(*this, m_summoner); }
private:

View File

@ -1314,7 +1314,7 @@ void Unit::CalculateSpellDamage(SpellNonMeleeDamage* damageInfo, int32 damage, S
if (damage < 0)
{ return; }
if (!this || !pVictim)
if (!pVictim)
{ return; }
// units which are not alive cannot deal damage except for dying creatures
@ -1427,7 +1427,7 @@ void Unit::DealSpellDamage(SpellNonMeleeDamage* damageInfo, bool durabilityLoss)
Unit* pVictim = damageInfo->target;
if (!this || !pVictim)
if (!pVictim)
{ return; }
if (!pVictim->IsAlive() || pVictim->IsTaxiFlying() || (pVictim->GetTypeId() == TYPEID_UNIT && ((Creature*)pVictim)->IsInEvadeMode()))
@ -1477,7 +1477,7 @@ void Unit::CalculateMeleeDamage(Unit* pVictim, CalcDamageInfo* damageInfo, Weapo
damageInfo->procEx = PROC_EX_NONE;
damageInfo->hitOutCome = MELEE_HIT_EVADE;
if (!this || !pVictim)
if (!pVictim)
{ return; }
if (!this->IsAlive() || !pVictim->IsAlive())
{ return; }
@ -1707,7 +1707,7 @@ void Unit::DealMeleeDamage(CalcDamageInfo* damageInfo, bool durabilityLoss)
if (damageInfo == 0) { return; }
Unit* pVictim = damageInfo->target;
if (!this || !pVictim)
if (!pVictim)
{ return; }
if (!pVictim->IsAlive() || pVictim->IsTaxiFlying() || (pVictim->GetTypeId() == TYPEID_UNIT && ((Creature*)pVictim)->IsInEvadeMode()))

View File

@ -146,7 +146,7 @@ class WorldSocket : protected WorldHandler
/// Called when connection is closed or error happens.
virtual int handle_close(ACE_HANDLE = ACE_INVALID_HANDLE,
ACE_Reactor_Mask = ACE_Event_Handler::ALL_EVENTS_MASK);
ACE_Reactor_Mask = ACE_Event_Handler::ALL_EVENTS_MASK) override;
private:
/// Helper functions for processing incoming data.

View File

@ -108,7 +108,7 @@ namespace WardenState
STATE_RESTING
};
inline char* to_string(WardenState::Value value)
inline const char* to_string(WardenState::Value value)
{
switch (value)
{

View File

@ -35,7 +35,7 @@
#include "Util.h"
char const* MAP_MAGIC = "MAPS";
char const* MAP_VERSION_MAGIC = "z1.4";
char const* MAP_VERSION_MAGIC = "z1.5";
char const* MAP_AREA_MAGIC = "AREA";
char const* MAP_HEIGHT_MAGIC = "MHGT";
char const* MAP_LIQUID_MAGIC = "MLIQ";

View File

@ -43,7 +43,7 @@ class Transport : public GameObject
bool AddPassenger(Unit* passenger);
bool RemovePassenger(Unit* passenger);
virtual void Update(uint32 update_diff, uint32 p_time) = 0;
virtual void Update(uint32 update_diff, uint32 p_time) override {}
virtual void DeleteFromDB() override {}
UnitSet const& GetPassengers() const { return m_passengers; }
@ -60,7 +60,6 @@ class LocalTransport : public Transport
explicit LocalTransport();
virtual ~LocalTransport();
bool Initialize(uint32 guid, Map* m);
virtual void Update(uint32 update_diff, uint32 p_time) override {} //NYI
private:
uint32 m_period;
};

View File

@ -1 +1 @@
//#include "pchdef.h"
#include "pchdef.h"

View File

@ -22,6 +22,9 @@
* and lore are copyrighted by Blizzard Entertainment, Inc.
*/
#ifndef GAME_PCH_H
#define GAME_PCH_H
// add here most rarely modified headers to speed up debug build compilation
#include "WorldSocket.h" // must be first to make ACE happy with ACE includes in it
#include "Common.h"
@ -36,3 +39,5 @@
#include "GuildMgr.h"
#include "ObjectMgr.h"
#include "ScriptMgr.h"
#endif

View File

@ -42,7 +42,7 @@ class WorldThread : public ACE_Task_Base
public:
explicit WorldThread(uint16 port, const char* host);
virtual int open(void*) override;
virtual int svc();
virtual int svc() override;
private:
ACE_INET_Addr listen_addr;
};

View File

@ -169,7 +169,7 @@ class MySQLConnection : public SqlConnection
* @param length
* @return unsigned long
*/
unsigned long escape_string(char* to, const char* from, unsigned long length);
unsigned long escape_string(char* to, const char* from, unsigned long length) override;
/**
* @brief

@ -1 +1 @@
Subproject commit 4a02e6b4d125453454ba599a6ed0fd5bda8ed955
Subproject commit 51086dafc9477557ebe21f59ad7076802d04d6dc