Core/PacketIO: Changed CMSG_PLAYER_LOGIN handler signature for new packet clasess

This commit is contained in:
Shauren
2014-11-03 18:30:23 +01:00
parent 48d47998d9
commit 064154c540
3 changed files with 14 additions and 7 deletions

View File

@@ -745,7 +745,7 @@ void WorldSession::HandleCharDeleteOpcode(WorldPacket& recvData)
SendCharDelete(CHAR_DELETE_SUCCESS);
}
void WorldSession::HandlePlayerLoginOpcode(WorldPacket& recvData)
void WorldSession::HandlePlayerLoginOpcode(WorldPackets::Character::PlayerLogin& playerLogin)
{
if (PlayerLoading() || GetPlayer() != NULL)
{
@@ -758,9 +758,6 @@ void WorldSession::HandlePlayerLoginOpcode(WorldPacket& recvData)
m_playerLoading = true;
WorldPackets::Character::PlayerLogin playerLogin(std::move(recvData));
playerLogin.Read();
TC_LOG_DEBUG("network", "Character %s logging in", playerLogin.Guid.ToString().c_str());
if (!IsLegitCharacterForAccount(playerLogin.Guid))

View File

@@ -18,6 +18,7 @@
#include "Opcodes.h"
#include "WorldSession.h"
#include "Packets/CharacterPackets.h"
template<class PacketClass, void(WorldSession::*HandlerFunction)(PacketClass&)>
class PacketHandler : public OpcodeHandler
@@ -100,6 +101,9 @@ void OpcodeTable::Initialize()
#define DEFINE_OPCODE_HANDLER_OLD(opcode, status, processing, handler) \
ValidateAndSetOpcode<WorldPacket, handler>(opcode, #opcode, status, processing);
#define DEFINE_HANDLER(opcode, status, processing, packetclass, handler) \
ValidateAndSetOpcode<packetclass, handler>(opcode, #opcode, status, processing);
DEFINE_OPCODE_HANDLER_OLD(CMSG_ACCEPT_LEVEL_GRANT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAcceptGrantLevel );
DEFINE_OPCODE_HANDLER_OLD(CMSG_ACCEPT_TRADE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAcceptTradeOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_ACTIVATETAXI, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleActivateTaxiOpcode );
@@ -454,7 +458,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_PET_STOP_ATTACK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePetStopAttack );
DEFINE_OPCODE_HANDLER_OLD(CMSG_PING, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_EarlyProccess );
DEFINE_OPCODE_HANDLER_OLD(CMSG_PLAYED_TIME, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePlayedTime );
DEFINE_OPCODE_HANDLER_OLD(CMSG_PLAYER_LOGIN, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandlePlayerLoginOpcode );
DEFINE_HANDLER(CMSG_PLAYER_LOGIN, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::PlayerLogin, &WorldSession::HandlePlayerLoginOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_PLAYER_VEHICLE_ENTER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleEnterPlayerVehicle );
DEFINE_OPCODE_HANDLER_OLD(CMSG_PLAY_DANCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_PUSHQUESTTOPARTY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePushQuestToParty );
@@ -659,7 +663,8 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(MSG_TABARDVENDOR_ACTIVATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleTabardVendorActivateOpcode);
DEFINE_OPCODE_HANDLER_OLD(MSG_TALENT_WIPE_CONFIRM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleTalentWipeConfirmOpcode );
#undef DEFINE_OPCODE_HANDLER
#undef DEFINE_OPCODE_HANDLER_OLD
#undef DEFINE_HANDLER
#define DEFINE_SERVER_OPCODE_HANDLER(opcode, status) \
ValidateAndSetOpcode(opcode, #opcode, status)

View File

@@ -74,6 +74,11 @@ class RBACData;
namespace WorldPackets
{
class ServerPacket;
namespace Character
{
class PlayerLogin;
}
}
enum AccountDataType
@@ -470,7 +475,7 @@ class WorldSession
void HandleCharDeleteOpcode(WorldPacket& recvPacket);
void HandleCharCreateOpcode(WorldPacket& recvPacket);
void HandleCharCreateCallback(PreparedQueryResult result, CharacterCreateInfo* createInfo);
void HandlePlayerLoginOpcode(WorldPacket& recvPacket);
void HandlePlayerLoginOpcode(WorldPackets::Character::PlayerLogin& playerLogin);
void HandleLoadScreenOpcode(WorldPacket& recvPacket);
void HandleCharEnum(PreparedQueryResult result);
void HandlePlayerLogin(LoginQueryHolder * holder);