diff options
author | Intel <chemicstry@gmail.com> | 2014-11-15 21:20:45 +0200 |
---|---|---|
committer | Intel <chemicstry@gmail.com> | 2014-11-15 21:20:45 +0200 |
commit | 7d88f8c491837dcfd02995a32310c196102200ce (patch) | |
tree | 062140fded297d161c1ab388a00fba3f764ffb10 /src | |
parent | 74bf8632530b943f8fb1a1e797d89240dc859e55 (diff) |
Core/Packets: Added SMSG_WORLD_STATE_UI_TIMER_UPDATE
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Handlers/MiscHandler.cpp | 8 | ||||
-rw-r--r-- | src/server/game/Server/Packets/MiscPackets.cpp | 7 | ||||
-rw-r--r-- | src/server/game/Server/Packets/MiscPackets.h | 10 | ||||
-rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 4 | ||||
-rw-r--r-- | src/server/game/Server/Protocol/Opcodes.h | 4 |
5 files changed, 25 insertions, 8 deletions
diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index e5442773c7f..49b593eb0a6 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -1752,10 +1752,10 @@ void WorldSession::HandleWorldStateUITimerUpdate(WorldPacket& /*recvData*/) { // empty opcode TC_LOG_DEBUG("network", "WORLD: CMSG_WORLD_STATE_UI_TIMER_UPDATE"); - - WorldPacket data(SMSG_WORLD_STATE_UI_TIMER_UPDATE, 4); - data << uint32(time(NULL)); - SendPacket(&data); + + WorldPackets::Misc::UITime response; + response.Time = time(NULL); + SendPacket(response.Write()); } void WorldSession::SendSetPhaseShift(std::set<uint32> const& phaseIds, std::set<uint32> const& terrainswaps, std::set<uint32> const& worldMapAreaSwaps) diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp index 800e9621c09..601aad71807 100644 --- a/src/server/game/Server/Packets/MiscPackets.cpp +++ b/src/server/game/Server/Packets/MiscPackets.cpp @@ -34,3 +34,10 @@ void WorldPackets::Misc::TimeSyncResponse::Read() _worldPacket >> SequenceIndex; _worldPacket >> ClientTime; } + +WorldPacket const* WorldPackets::Misc::UITime::Write() +{ + _worldPacket << Time; + + return &_worldPacket; +} diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h index dc64985dcda..0681b7d26c6 100644 --- a/src/server/game/Server/Packets/MiscPackets.h +++ b/src/server/game/Server/Packets/MiscPackets.h @@ -54,6 +54,16 @@ namespace WorldPackets uint32 ClientTime = 0; // Client ticks in ms uint32 SequenceIndex = 0; // Same index as in request }; + + class UITime final : public ServerPacket + { + public: + UITime() : ServerPacket(SMSG_WORLD_STATE_UI_TIMER_UPDATE, 4) { } + + WorldPacket const* Write() override; + + uint32 Time = 0; + }; } } diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index df40b4c83fb..f2f9f39481e 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -653,7 +653,7 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_WARGAME_START, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_WHO, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleWhoOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_WHOIS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleWhoisOpcode ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_WORLD_STATE_UI_TIMER_UPDATE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleWorldStateUITimerUpdate ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_WORLD_STATE_UI_TIMER_UPDATE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleWorldStateUITimerUpdate ); DEFINE_OPCODE_HANDLER_OLD(CMSG_WORLD_TELEPORT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleWorldTeleportOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_WRAP_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleWrapItemOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_ZONEUPDATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleZoneUpdateOpcode ); @@ -1409,7 +1409,7 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_WHO, STATUS_UNHANDLED); DEFINE_SERVER_OPCODE_HANDLER(SMSG_WHOIS, STATUS_UNHANDLED); DEFINE_SERVER_OPCODE_HANDLER(SMSG_WORLD_SERVER_INFO, STATUS_UNHANDLED); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_WORLD_STATE_UI_TIMER_UPDATE, STATUS_UNHANDLED); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_WORLD_STATE_UI_TIMER_UPDATE, STATUS_NEVER); DEFINE_SERVER_OPCODE_HANDLER(SMSG_XP_GAIN_ABORTED, STATUS_UNHANDLED); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ZONE_UNDER_ATTACK, STATUS_UNHANDLED); diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h index 55171515bd2..6de5400b5ae 100644 --- a/src/server/game/Server/Protocol/Opcodes.h +++ b/src/server/game/Server/Protocol/Opcodes.h @@ -634,7 +634,7 @@ enum OpcodeClient : uint32 CMSG_WARGAME_START = 0xBADD, CMSG_WHO = 0x1322, CMSG_WHOIS = 0xBADD, - CMSG_WORLD_STATE_UI_TIMER_UPDATE = 0xBADD, + CMSG_WORLD_STATE_UI_TIMER_UPDATE = 0x0302, CMSG_WORLD_TELEPORT = 0xBADD, CMSG_WRAP_ITEM = 0xBADD, CMSG_ZONEUPDATE = 0xBADD, @@ -1442,7 +1442,7 @@ enum OpcodeServer : uint32 SMSG_WHO = 0x0601, SMSG_WHOIS = 0xBADD, SMSG_WORLD_SERVER_INFO = 0x11AC, - SMSG_WORLD_STATE_UI_TIMER_UPDATE = 0xBADD, + SMSG_WORLD_STATE_UI_TIMER_UPDATE = 0x0B83, SMSG_XP_GAIN_ABORTED = 0xBADD, SMSG_ZONE_UNDER_ATTACK = 0x1401 }; |