Advertisement
Guest User

Untitled

a guest
Jun 11th, 2011
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 4.82 KB | None | 0 0
  1. # HG changeset patch
  2. # User kerhong
  3. # Date 1307781964 -10800
  4. # Node ID f64e03e9d1099afa8940e97c9a110861e6f234a4
  5. # Parent  da53d4a8b57f727d8033f30b48fa6b4efe8a26c6
  6. Mac warden fix
  7.  
  8. diff -r da53d4a8b57f -r f64e03e9d109 src/server/game/Server/WorldSession.cpp
  9. --- a/src/server/game/Server/WorldSession.cpp   Sat Jun 11 09:24:23 2011 +0200
  10. +++ b/src/server/game/Server/WorldSession.cpp   Sat Jun 11 11:46:04 2011 +0300
  11. @@ -28,6 +28,7 @@
  12.  #include "WorldPacket.h"
  13.  #include "WorldSession.h"
  14.  #include "WardenWin.h"
  15. +#include "WardenMac.h"
  16.  #include "Player.h"
  17.  #include "Vehicle.h"
  18.  #include "ObjectMgr.h"
  19. @@ -91,7 +92,7 @@
  20.  m_inQueue(false), m_playerLoading(false), m_playerLogout(false),
  21.  m_playerRecentlyLogout(false), m_playerSave(false),
  22.  m_sessionDbcLocale(sWorld->GetAvailableDbcLocale(locale)),
  23. -m_sessionDbLocaleIndex(locale),
  24. +m_sessionDbLocaleIndex(locale), m_Warden(NULL),
  25.  m_latency(0), m_TutorialsChanged(false), recruiterId(recruiter)
  26.  {
  27.      if (sock)
  28. @@ -118,8 +119,8 @@
  29.          m_Socket = NULL;
  30.      }
  31.  
  32. -    //if (m_Warden)
  33. -       //delete m_Warden;
  34. +    if (m_Warden)
  35. +        delete m_Warden;
  36.  
  37.      ///- empty incoming packet queue
  38.      WorldPacket* packet = NULL;
  39. @@ -340,8 +341,8 @@
  40.      ProcessQueryCallbacks();
  41.      m_CallbackMutex.release();
  42.  
  43. -    //if (m_Socket)
  44. -       //m_Warden->Update();
  45. +    if (m_Socket && m_Warden)
  46. +        m_Warden->Update();
  47.  
  48.      //check if we are safe to proceed with logout
  49.      //logout procedure should happen only in World::UpdateSessions() method!!!
  50. @@ -1098,9 +1099,15 @@
  51.      }    
  52.  }
  53.  
  54. -void WorldSession::InitWarden(BigNumber *K)
  55. +void WorldSession::InitWarden(BigNumber *K, std::string& OperatingSystem)
  56.  {
  57. -   // TODO: check client's os and create proper warden class
  58. -   m_Warden = (WardenBase*)new WardenWin();
  59. -   m_Warden->Init(this, K);
  60. +    if (!strcmp(OperatingSystem.c_str(), "Win"))
  61. +        m_Warden = (WardenBase*)new WardenWin();
  62. +    else if (!strcmp(OperatingSystem.c_str(), "OSX"))
  63. +        m_Warden = (WardenBase*)new WardenMac();
  64. +    else
  65. +        sLog->outWarden("Client %u got unsupported operating system (%s)", GetAccountId(), OperatingSystem.c_str());
  66. +
  67. +    if (m_Warden)
  68. +        m_Warden->Init(this, K);
  69.  }
  70. diff -r da53d4a8b57f -r f64e03e9d109 src/server/game/Server/WorldSession.h
  71. --- a/src/server/game/Server/WorldSession.h Sat Jun 11 09:24:23 2011 +0200
  72. +++ b/src/server/game/Server/WorldSession.h Sat Jun 11 11:46:04 2011 +0300
  73. @@ -220,7 +220,7 @@
  74.          void SetPlayer(Player *plr);
  75.          uint8 Expansion() const { return m_expansion; }
  76.  
  77. -        void InitWarden(BigNumber *K);
  78. +        void InitWarden(BigNumber *K, std::string& OperatingSystem);
  79.  
  80.          /// Session in auth.queue currently
  81.          void SetInQueue(bool state) { m_inQueue = state; }
  82. diff -r da53d4a8b57f -r f64e03e9d109 src/server/game/Server/WorldSocket.cpp
  83. --- a/src/server/game/Server/WorldSocket.cpp    Sat Jun 11 09:24:23 2011 +0200
  84. +++ b/src/server/game/Server/WorldSocket.cpp    Sat Jun 11 11:46:04 2011 +0300
  85. @@ -821,7 +821,8 @@
  86.                                  "expansion, "               //6
  87.                                  "mutetime, "                //7
  88.                                  "locale, "                  //8
  89. -                                "recruiter "                //9
  90. +                                "recruiter, "               //9
  91. +                                "operatingSystem "          //10
  92.                                  "FROM account "
  93.                                  "WHERE username = '%s'",
  94.                                  safe_account.c_str());
  95. @@ -840,6 +841,8 @@
  96.  
  97.      Field* fields = result->Fetch();
  98.  
  99. +    std::string OperatingSystem = fields[10].GetString();
  100. +
  101.      uint8 expansion = fields[6].GetUInt8();
  102.      uint32 world_expansion = sWorld->getIntConfig(CONFIG_EXPANSION);
  103.      if (expansion > world_expansion)
  104. @@ -989,7 +992,7 @@
  105.      m_Session->LoadGlobalAccountData();
  106.      m_Session->LoadTutorialsData();
  107.      m_Session->ReadAddonsInfo(recvPacket);
  108. -    //m_Session->InitWarden(&K);
  109. +    m_Session->InitWarden(&K, OperatingSystem);
  110.  
  111.      // Sleep this Network thread for
  112.      uint32 sleepTime = sWorld->getIntConfig(CONFIG_SESSION_ADD_DELAY);
  113. diff -r da53d4a8b57f -r f64e03e9d109 src/server/game/World/World.cpp
  114. --- a/src/server/game/World/World.cpp   Sat Jun 11 09:24:23 2011 +0200
  115. +++ b/src/server/game/World/World.cpp   Sat Jun 11 11:46:04 2011 +0300
  116. @@ -1674,8 +1674,8 @@
  117.      uint32 nextGameEvent = sGameEventMgr->Initialize();
  118.      m_timers[WUPDATE_EVENTS].SetInterval(nextGameEvent);    //depend on next event
  119.  
  120. -    //sLog->outString("Loading Warden Data..." );
  121. -    //WardenDataStorage.Init();
  122. +    sLog->outString("Loading Warden Data..." );
  123. +    WardenDataStorage.Init();
  124.  
  125.      // Delete all characters which have been deleted X days before
  126.      Player::DeleteOldCharacters();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement