55#include < tier1/convar.h>
66#include < interfaces/interfaces.h>
77#include < metamod_oslink.h>
8- #include < msgpack.hpp>
98
109#include < steam/steam_gameserver.h>
1110
1211#include " addons/addons.h"
12+ #include " encoders/msgpack.h"
1313#include " addons/clients.h"
1414#include " configuration/Configuration.h"
1515#include " commands/CommandsManager.h"
@@ -271,15 +271,8 @@ void Swiftly::OnLevelInit(char const* pMapName, char const* pMapEntities, char c
271271 g_precacher->SetSoundsPrecached (true );
272272 }
273273
274- std::stringstream ss;
275- std::vector<msgpack::object> eventData;
276-
277- eventData.push_back (msgpack::object (pMapName));
278-
279- msgpack::pack (ss, eventData);
280-
281274 PluginEvent* event = new PluginEvent (" core" , nullptr , nullptr );
282- g_pluginManager->ExecuteEvent (" core" , " OnMapLoad" , ss. str ( ), event);
275+ g_pluginManager->ExecuteEvent (" core" , " OnMapLoad" , encoders::msgpack::SerializeToString ({ pMapName } ), event);
283276 delete event;
284277
285278 currentMap = pMapName;
@@ -291,15 +284,8 @@ void Swiftly::OnLevelShutdown()
291284 g_translations->LoadTranslations ();
292285 g_Config->LoadPluginConfigurations ();
293286
294- std::stringstream ss;
295- std::vector<msgpack::object> eventData;
296-
297- eventData.push_back (msgpack::object (currentMap.c_str ()));
298-
299- msgpack::pack (ss, eventData);
300-
301287 PluginEvent* event = new PluginEvent (" core" , nullptr , nullptr );
302- g_pluginManager->ExecuteEvent (" core" , " OnMapUnload" , ss. str ( ), event);
288+ g_pluginManager->ExecuteEvent (" core" , " OnMapUnload" , encoders::msgpack::SerializeToString ({ currentMap } ), event);
303289 delete event;
304290}
305291
@@ -378,15 +364,7 @@ void Swiftly::Hook_GameFrame(bool simulating, bool bFirstTick, bool bLastTick)
378364 // //////////////////////////////////////////////////////////
379365 if (gameFrameCache.bFirstTick != bFirstTick || gameFrameCache.bLastTick != bLastTick || gameFrameCache.simulating != simulating || gameFrameEvent == nullptr )
380366 {
381- std::stringstream ss;
382- std::vector<msgpack::object> eventData;
383-
384- eventData.push_back (msgpack::object (simulating));
385- eventData.push_back (msgpack::object (bFirstTick));
386- eventData.push_back (msgpack::object (bLastTick));
387-
388- msgpack::pack (ss, eventData);
389- gameFramePack = ss.str ();
367+ gameFramePack = encoders::msgpack::SerializeToString ({ simulating, bFirstTick, bLastTick });
390368
391369 gameFrameCache.bFirstTick = bFirstTick;
392370 gameFrameCache.bLastTick = bLastTick;
@@ -435,15 +413,8 @@ void Swiftly::Hook_GameFrame(bool simulating, bool bFirstTick, bool bLastTick)
435413
436414void Swiftly::Hook_ClientDisconnect (CPlayerSlot slot, ENetworkDisconnectionReason reason, const char * pszName, uint64 xuid, const char * pszNetworkID)
437415{
438- std::stringstream ss;
439- std::vector<msgpack::object> eventData;
440-
441- eventData.push_back (msgpack::object (slot.Get ()));
442-
443- msgpack::pack (ss, eventData);
444-
445416 PluginEvent* event = new PluginEvent (" core" , nullptr , nullptr );
446- g_pluginManager->ExecuteEvent (" core" , " OnClientDisconnect" , ss. str ( ), event);
417+ g_pluginManager->ExecuteEvent (" core" , " OnClientDisconnect" , encoders::msgpack::SerializeToString ({ slot. Get () } ), event);
447418
448419 Player* player = g_playerManager->GetPlayer (slot);
449420 if (player)
@@ -470,15 +441,8 @@ bool Swiftly::Hook_ClientConnect(CPlayerSlot slot, const char* pszName, uint64 x
470441
471442 player->SetConnected (true );
472443
473- std::stringstream ss;
474- std::vector<msgpack::object> eventData;
475-
476- eventData.push_back (msgpack::object (slot.Get ()));
477-
478- msgpack::pack (ss, eventData);
479-
480444 PluginEvent* event = new PluginEvent (" core" , nullptr , nullptr );
481- g_pluginManager->ExecuteEvent (" core" , " OnClientConnect" , ss. str ( ), event);
445+ g_pluginManager->ExecuteEvent (" core" , " OnClientConnect" , encoders::msgpack::SerializeToString ({ slot. Get () } ), event);
482446
483447 bool response = true ;
484448 try
@@ -617,15 +581,8 @@ void Swiftly::NextFrame(std::function<void()> fn)
617581
618582void CEntityListener::OnEntitySpawned (CEntityInstance* pEntity)
619583{
620- std::stringstream ss;
621- std::vector<msgpack::object> eventData;
622-
623- eventData.push_back (msgpack::object (string_format (" %p" , (void *)pEntity).c_str ()));
624-
625- msgpack::pack (ss, eventData);
626-
627584 PluginEvent* event = new PluginEvent (" core" , nullptr , nullptr );
628- g_pluginManager->ExecuteEvent (" core" , " OnEntitySpawned" , ss. str ( ), event);
585+ g_pluginManager->ExecuteEvent (" core" , " OnEntitySpawned" , encoders::msgpack::SerializeToString ({ string_format ( " %p " , ( void *)pEntity) } ), event);
629586 delete event;
630587}
631588
@@ -635,29 +592,15 @@ void CEntityListener::OnEntityParentChanged(CEntityInstance* pEntity, CEntityIns
635592
636593void CEntityListener::OnEntityCreated (CEntityInstance* pEntity)
637594{
638- std::stringstream ss;
639- std::vector<msgpack::object> eventData;
640-
641- eventData.push_back (msgpack::object (string_format (" %p" , (void *)pEntity).c_str ()));
642-
643- msgpack::pack (ss, eventData);
644-
645595 PluginEvent* event = new PluginEvent (" core" , nullptr , nullptr );
646- g_pluginManager->ExecuteEvent (" core" , " OnEntityCreated" , ss. str ( ), event);
596+ g_pluginManager->ExecuteEvent (" core" , " OnEntityCreated" , encoders::msgpack::SerializeToString ({ string_format ( " %p " , ( void *)pEntity) } ), event);
647597 delete event;
648598}
649599
650600void CEntityListener::OnEntityDeleted (CEntityInstance* pEntity)
651601{
652- std::stringstream ss;
653- std::vector<msgpack::object> eventData;
654-
655- eventData.push_back (msgpack::object (string_format (" %p" , (void *)pEntity).c_str ()));
656-
657- msgpack::pack (ss, eventData);
658-
659602 PluginEvent* event = new PluginEvent (" core" , nullptr , nullptr );
660- g_pluginManager->ExecuteEvent (" core" , " OnEntityDeleted" , ss. str ( ), event);
603+ g_pluginManager->ExecuteEvent (" core" , " OnEntityDeleted" , encoders::msgpack::SerializeToString ({ string_format ( " %p " , ( void *)pEntity) } ), event);
661604 delete event;
662605}
663606
0 commit comments