From d87504dee5cf3bd13fd8bb30d2937390cf7dfc1b Mon Sep 17 00:00:00 2001 From: Intel Date: Sun, 16 Nov 2014 00:30:31 +0200 Subject: Core/Packets: Added SMSG_TUTORIAL_FLAGS --- src/server/game/Server/Packets/MiscPackets.cpp | 8 ++++++++ src/server/game/Server/Packets/MiscPackets.h | 10 ++++++++++ src/server/game/Server/WorldSession.cpp | 8 ++++---- 3 files changed, 22 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp index 601aad71807..d223b73e310 100644 --- a/src/server/game/Server/Packets/MiscPackets.cpp +++ b/src/server/game/Server/Packets/MiscPackets.cpp @@ -41,3 +41,11 @@ WorldPacket const* WorldPackets::Misc::UITime::Write() return &_worldPacket; } + +WorldPacket const* WorldPackets::Misc::TutorialFlags::Write() +{ + for (uint8 i = 0; i < MAX_ACCOUNT_TUTORIAL_VALUES; ++i) + _worldPacket << TutorialData[i]; + + return &_worldPacket; +} diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h index 0681b7d26c6..520b9acafc1 100644 --- a/src/server/game/Server/Packets/MiscPackets.h +++ b/src/server/game/Server/Packets/MiscPackets.h @@ -64,6 +64,16 @@ namespace WorldPackets uint32 Time = 0; }; + + class TutorialFlags : public ServerPacket + { + public: + TutorialFlags() : ServerPacket(SMSG_WORLD_STATE_UI_TIMER_UPDATE, 32) { } + + WorldPacket const* Write() override; + + uint32 TutorialData[8]; + }; } } diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index 4dcd2430642..18fe28344b0 100644 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -50,6 +50,7 @@ #include "BattlenetServerManager.h" #include "CharacterPackets.h" #include "ClientConfigPackets.h" +#include "MiscPackets.h" namespace { @@ -767,10 +768,9 @@ void WorldSession::LoadTutorialsData() void WorldSession::SendTutorialsData() { - WorldPacket data(SMSG_TUTORIAL_FLAGS, 4 * MAX_ACCOUNT_TUTORIAL_VALUES); - for (uint8 i = 0; i < MAX_ACCOUNT_TUTORIAL_VALUES; ++i) - data << m_Tutorials[i]; - SendPacket(&data); + WorldPackets::Misc::TutorialFlags packet; + memcpy(packet.TutorialData, m_Tutorials, sizeof(packet.TutorialData)); + SendPacket(packet.Write()); } void WorldSession::SaveTutorialsData(SQLTransaction &trans) -- cgit v1.2.3