Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # HG changeset patch
- # User kerhong
- # Date 1307781964 -10800
- # Node ID f64e03e9d1099afa8940e97c9a110861e6f234a4
- # Parent da53d4a8b57f727d8033f30b48fa6b4efe8a26c6
- Mac warden fix
- diff -r da53d4a8b57f -r f64e03e9d109 src/server/game/Server/WorldSession.cpp
- --- a/src/server/game/Server/WorldSession.cpp Sat Jun 11 09:24:23 2011 +0200
- +++ b/src/server/game/Server/WorldSession.cpp Sat Jun 11 11:46:04 2011 +0300
- @@ -28,6 +28,7 @@
- #include "WorldPacket.h"
- #include "WorldSession.h"
- #include "WardenWin.h"
- +#include "WardenMac.h"
- #include "Player.h"
- #include "Vehicle.h"
- #include "ObjectMgr.h"
- @@ -91,7 +92,7 @@
- m_inQueue(false), m_playerLoading(false), m_playerLogout(false),
- m_playerRecentlyLogout(false), m_playerSave(false),
- m_sessionDbcLocale(sWorld->GetAvailableDbcLocale(locale)),
- -m_sessionDbLocaleIndex(locale),
- +m_sessionDbLocaleIndex(locale), m_Warden(NULL),
- m_latency(0), m_TutorialsChanged(false), recruiterId(recruiter)
- {
- if (sock)
- @@ -118,8 +119,8 @@
- m_Socket = NULL;
- }
- - //if (m_Warden)
- - //delete m_Warden;
- + if (m_Warden)
- + delete m_Warden;
- ///- empty incoming packet queue
- WorldPacket* packet = NULL;
- @@ -340,8 +341,8 @@
- ProcessQueryCallbacks();
- m_CallbackMutex.release();
- - //if (m_Socket)
- - //m_Warden->Update();
- + if (m_Socket && m_Warden)
- + m_Warden->Update();
- //check if we are safe to proceed with logout
- //logout procedure should happen only in World::UpdateSessions() method!!!
- @@ -1098,9 +1099,15 @@
- }
- }
- -void WorldSession::InitWarden(BigNumber *K)
- +void WorldSession::InitWarden(BigNumber *K, std::string& OperatingSystem)
- {
- - // TODO: check client's os and create proper warden class
- - m_Warden = (WardenBase*)new WardenWin();
- - m_Warden->Init(this, K);
- + if (!strcmp(OperatingSystem.c_str(), "Win"))
- + m_Warden = (WardenBase*)new WardenWin();
- + else if (!strcmp(OperatingSystem.c_str(), "OSX"))
- + m_Warden = (WardenBase*)new WardenMac();
- + else
- + sLog->outWarden("Client %u got unsupported operating system (%s)", GetAccountId(), OperatingSystem.c_str());
- +
- + if (m_Warden)
- + m_Warden->Init(this, K);
- }
- diff -r da53d4a8b57f -r f64e03e9d109 src/server/game/Server/WorldSession.h
- --- a/src/server/game/Server/WorldSession.h Sat Jun 11 09:24:23 2011 +0200
- +++ b/src/server/game/Server/WorldSession.h Sat Jun 11 11:46:04 2011 +0300
- @@ -220,7 +220,7 @@
- void SetPlayer(Player *plr);
- uint8 Expansion() const { return m_expansion; }
- - void InitWarden(BigNumber *K);
- + void InitWarden(BigNumber *K, std::string& OperatingSystem);
- /// Session in auth.queue currently
- void SetInQueue(bool state) { m_inQueue = state; }
- diff -r da53d4a8b57f -r f64e03e9d109 src/server/game/Server/WorldSocket.cpp
- --- a/src/server/game/Server/WorldSocket.cpp Sat Jun 11 09:24:23 2011 +0200
- +++ b/src/server/game/Server/WorldSocket.cpp Sat Jun 11 11:46:04 2011 +0300
- @@ -821,7 +821,8 @@
- "expansion, " //6
- "mutetime, " //7
- "locale, " //8
- - "recruiter " //9
- + "recruiter, " //9
- + "operatingSystem " //10
- "FROM account "
- "WHERE username = '%s'",
- safe_account.c_str());
- @@ -840,6 +841,8 @@
- Field* fields = result->Fetch();
- + std::string OperatingSystem = fields[10].GetString();
- +
- uint8 expansion = fields[6].GetUInt8();
- uint32 world_expansion = sWorld->getIntConfig(CONFIG_EXPANSION);
- if (expansion > world_expansion)
- @@ -989,7 +992,7 @@
- m_Session->LoadGlobalAccountData();
- m_Session->LoadTutorialsData();
- m_Session->ReadAddonsInfo(recvPacket);
- - //m_Session->InitWarden(&K);
- + m_Session->InitWarden(&K, OperatingSystem);
- // Sleep this Network thread for
- uint32 sleepTime = sWorld->getIntConfig(CONFIG_SESSION_ADD_DELAY);
- diff -r da53d4a8b57f -r f64e03e9d109 src/server/game/World/World.cpp
- --- a/src/server/game/World/World.cpp Sat Jun 11 09:24:23 2011 +0200
- +++ b/src/server/game/World/World.cpp Sat Jun 11 11:46:04 2011 +0300
- @@ -1674,8 +1674,8 @@
- uint32 nextGameEvent = sGameEventMgr->Initialize();
- m_timers[WUPDATE_EVENTS].SetInterval(nextGameEvent); //depend on next event
- - //sLog->outString("Loading Warden Data..." );
- - //WardenDataStorage.Init();
- + sLog->outString("Loading Warden Data..." );
- + WardenDataStorage.Init();
- // Delete all characters which have been deleted X days before
- Player::DeleteOldCharacters();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement