mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-15 23:20:36 +01:00
Core/PacketIO: Minor refactor in Opcode definitions, packet class type no longer needs to be defined manually, it is now inferred from handler argument
This commit is contained in:
@@ -38,10 +38,10 @@
|
||||
|
||||
void WorldSession::HandleMoveWorldportAckOpcode(WorldPackets::Movement::WorldPortResponse& /*packet*/)
|
||||
{
|
||||
HandleMoveWorldportAckOpcode();
|
||||
HandleMoveWorldportAck();
|
||||
}
|
||||
|
||||
void WorldSession::HandleMoveWorldportAckOpcode()
|
||||
void WorldSession::HandleMoveWorldportAck()
|
||||
{
|
||||
// ignore unexpected far teleports
|
||||
if (!GetPlayer()->IsBeingTeleportedFar())
|
||||
@@ -241,7 +241,7 @@ void WorldSession::HandleSuspendTokenResponse(WorldPackets::Movement::SuspendTok
|
||||
SendPacket(packet.Write());
|
||||
|
||||
if (_player->IsBeingTeleportedSeamlessly())
|
||||
HandleMoveWorldportAckOpcode();
|
||||
HandleMoveWorldportAck();
|
||||
}
|
||||
|
||||
void WorldSession::HandleMoveTeleportAck(WorldPackets::Movement::MoveTeleportAck& packet)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1815,7 +1815,7 @@ class OpcodeTable
|
||||
}
|
||||
|
||||
private:
|
||||
template<class PacketClass, void(WorldSession::*HandlerFunction)(PacketClass&)>
|
||||
template<typename Handler, Handler HandlerFunction>
|
||||
void ValidateAndSetClientOpcode(OpcodeClient opcode, char const* name, SessionStatus status, PacketProcessing processing);
|
||||
|
||||
void ValidateAndSetServerOpcode(OpcodeServer opcode, char const* name, SessionStatus status, ConnectionType conIdx);
|
||||
|
||||
@@ -507,7 +507,7 @@ void WorldSession::LogoutPlayer(bool save)
|
||||
{
|
||||
// finish pending transfers before starting the logout
|
||||
while (_player && _player->IsBeingTeleportedFar())
|
||||
HandleMoveWorldportAckOpcode();
|
||||
HandleMoveWorldportAck();
|
||||
|
||||
m_playerLogout = true;
|
||||
m_playerSave = save;
|
||||
@@ -562,7 +562,7 @@ void WorldSession::LogoutPlayer(bool save)
|
||||
// Repop at GraveYard or other player far teleport will prevent saving player because of not present map
|
||||
// Teleport player immediately for correct player save
|
||||
while (_player->IsBeingTeleportedFar())
|
||||
HandleMoveWorldportAckOpcode();
|
||||
HandleMoveWorldportAck();
|
||||
|
||||
///- If the player is in a guild, update the guild roster and broadcast a logout message to other guild members
|
||||
if (Guild* guild = sGuildMgr->GetGuildById(_player->GetGuildId()))
|
||||
|
||||
@@ -1238,7 +1238,7 @@ class TC_GAME_API WorldSession
|
||||
void HandleGameObjectQueryOpcode(WorldPackets::Query::QueryGameObject& packet);
|
||||
|
||||
void HandleMoveWorldportAckOpcode(WorldPackets::Movement::WorldPortResponse& packet);
|
||||
void HandleMoveWorldportAckOpcode(); // for server-side calls
|
||||
void HandleMoveWorldportAck(); // for server-side calls
|
||||
void HandleSuspendTokenResponse(WorldPackets::Movement::SuspendTokenResponse& suspendTokenResponse);
|
||||
|
||||
void HandleMovementOpcodes(WorldPackets::Movement::ClientPlayerMovement& packet);
|
||||
|
||||
Reference in New Issue
Block a user