From 07e2264964ef728050e55e5ec5217c4fb4fe1af2 Mon Sep 17 00:00:00 2001 From: ForesterDev <11771800+ForesterDev@users.noreply.github.com> Date: Fri, 23 Aug 2019 21:28:21 +0400 Subject: Core/PacketIO: updated SMSG_PLAY_SOUND, SMSG_PLAY_MUSIC and SMSG_PLAY_OBJECT_SOUND (#23636) * Core/PacketIO: SMSG_PLAY_SOUND (cherry picked from commit 82a33c7fa868d5ace7f855dba26b5f41c12bab6e) # Conflicts: # src/server/game/Battlefield/Battlefield.cpp # src/server/game/Battlegrounds/Battleground.cpp # src/server/game/Battlegrounds/BattlegroundMgr.cpp # src/server/game/Battlegrounds/BattlegroundMgr.h # src/server/game/Entities/Object/Object.cpp # src/server/game/Server/Packets/MiscPackets.cpp # src/server/game/Server/Protocol/Opcodes.cpp # src/server/game/Texts/CreatureTextMgr.cpp # src/server/game/Texts/CreatureTextMgr.h # src/server/scripts/Commands/cs_misc.cpp * Update for 3.3.5 * Core/PacketIO: updated and enabled SMSG_PLAY_MUSIC (cherry picked from commit c6718dc120cae4217bb673b9a0ad1e83b4780f60) # Conflicts: # src/server/game/Maps/Map.cpp # src/server/game/Server/Packets/MiscPackets.cpp # src/server/game/Server/Protocol/Opcodes.cpp # src/server/game/Server/Protocol/Opcodes.h # src/server/game/Spells/SpellEffects.cpp * Core/Packets: added SMSG_PLAY_OBJECT_SOUND packet class (cherry picked from commit 1272e9eea684d1f155709baee44a301ff938ade5) # Conflicts: # src/server/game/Server/Packets/MiscPackets.cpp # src/server/game/Server/Packets/MiscPackets.h # src/server/game/Server/Protocol/Opcodes.cpp * fic build * change variable names * fix build error field will be initialized after --- src/server/game/Server/Packets/MiscPackets.cpp | 22 +++++++++++++++ src/server/game/Server/Packets/MiscPackets.h | 37 ++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) (limited to 'src/server/game/Server') diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp index 40ac6b89524..cf4967c6aac 100644 --- a/src/server/game/Server/Packets/MiscPackets.cpp +++ b/src/server/game/Server/Packets/MiscPackets.cpp @@ -31,6 +31,28 @@ WorldPacket const* WorldPackets::Misc::Weather::Write() return &_worldPacket; } +WorldPacket const* WorldPackets::Misc::PlayMusic::Write() +{ + _worldPacket << SoundKitID; + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::Misc::PlayObjectSound::Write() +{ + _worldPacket << SoundKitID; + _worldPacket << SourceObjectGUID; + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::Misc::PlaySound::Write() +{ + _worldPacket << SoundKitID; + + return &_worldPacket; +} + WorldPacket const* WorldPackets::Misc::OverrideLight::Write() { _worldPacket << int32(AreaLightID); diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h index 62d5fba3c04..e9d5500d622 100644 --- a/src/server/game/Server/Packets/MiscPackets.h +++ b/src/server/game/Server/Packets/MiscPackets.h @@ -19,6 +19,7 @@ #define MiscPackets_h__ #include "Packet.h" +#include "ObjectGuid.h" #include "Weather.h" enum WeatherState : uint32; @@ -40,6 +41,42 @@ namespace WorldPackets WeatherState WeatherID = WeatherState(0); }; + class TC_GAME_API PlayMusic final : public ServerPacket + { + public: + PlayMusic() : ServerPacket(SMSG_PLAY_MUSIC, 4) { } + PlayMusic(uint32 soundKitID) : ServerPacket(SMSG_PLAY_MUSIC, 4), SoundKitID(soundKitID) { } + + WorldPacket const* Write() override; + + uint32 SoundKitID = 0; + }; + + class TC_GAME_API PlayObjectSound final : public ServerPacket + { + public: + PlayObjectSound() : ServerPacket(SMSG_PLAY_OBJECT_SOUND, 4 + 8) { } + PlayObjectSound(ObjectGuid const& sourceObjectGUID, uint32 soundKitID) + : ServerPacket(SMSG_PLAY_OBJECT_SOUND, 4 + 8), SourceObjectGUID(sourceObjectGUID), SoundKitID(soundKitID) { } + + WorldPacket const* Write() override; + + ObjectGuid SourceObjectGUID; + uint32 SoundKitID = 0; + + }; + + class TC_GAME_API PlaySound final : public ServerPacket + { + public: + PlaySound() : ServerPacket(SMSG_PLAY_SOUND, 4) { } + PlaySound(uint32 soundKitID) : ServerPacket(SMSG_PLAY_SOUND, 4), SoundKitID(soundKitID) { } + + WorldPacket const* Write() override; + + uint32 SoundKitID = 0; + }; + class OverrideLight final : public ServerPacket { public: -- cgit v1.2.3