diff options
| author | silinoron <none@none> | 2010-09-26 12:23:29 -0700 |
|---|---|---|
| committer | silinoron <none@none> | 2010-09-26 12:23:29 -0700 |
| commit | ededb13915ea8ebb6348ddfb13e80d30e375e091 (patch) | |
| tree | 99e730af85d785139af29826c31c2c9126da3b3f /src/server/game/Server | |
| parent | 64378832c8fd17ad19798a12ef3fccbc8505bbf2 (diff) | |
Core/World: Move some packet code out of World.cpp
--HG--
branch : trunk
Diffstat (limited to 'src/server/game/Server')
| -rw-r--r-- | src/server/game/Server/Protocol/Handlers/AuthHandler.cpp | 46 | ||||
| -rw-r--r-- | src/server/game/Server/WorldSession.h | 3 |
2 files changed, 49 insertions, 0 deletions
diff --git a/src/server/game/Server/Protocol/Handlers/AuthHandler.cpp b/src/server/game/Server/Protocol/Handlers/AuthHandler.cpp new file mode 100644 index 00000000000..3728f0edf7e --- /dev/null +++ b/src/server/game/Server/Protocol/Handlers/AuthHandler.cpp @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include "Opcodes.h" +#include "WorldSession.h" +#include "WorldPacket.h" + +void WorldSession::SendAuthResponse(uint8 code, bool shortForm, uint32 queuePos) +{ + WorldPacket packet(SMSG_AUTH_RESPONSE, 1 + 4 + 1 + 4 + 1 + (shortForm ? 0 : (4 + 1))); + packet << uint8(code); + packet << uint32(0); // BillingTimeRemaining + packet << uint8(0); // BillingPlanFlags + packet << uint32(0); // BillingTimeRested + packet << uint8(Expansion()); // 0 - normal, 1 - TBC, 2 - WOTLK, must be set in database manually for each account + + if (!shortForm) + { + packet << uint32(queuePos); // Queue position + packet << uint8(0); // Unk 3.3.0 + } + + SendPacket(&packet); +} + +void WorldSession::SendClientCacheVersion(uint32 version) +{ + WorldPacket data(SMSG_CLIENTCACHE_VERSION, 4); + data << uint32(version); + SendPacket(&data); +} diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index 965b398563b..8bcf0c1eccf 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -160,6 +160,9 @@ class WorldSession void SendSetPhaseShift(uint32 phaseShift); void SendQueryTimeResponse(); + void SendAuthResponse(uint8 code, bool shortForm, uint32 queuePos = 0); + void SendClientCacheVersion(uint32 version); + AccountTypes GetSecurity() const { return _security; } uint32 GetAccountId() const { return _accountId; } Player* GetPlayer() const { return _player; } |
