1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-05-01 08:27:46 +00:00

Added yield event handlers

This commit is contained in:
Mordred 2021-12-13 00:44:42 +01:00
parent 8eeba39edb
commit 51b5d1999f
3 changed files with 128 additions and 0 deletions

View file

@ -112,6 +112,16 @@ Sapphire::Network::GameConnection::GameConnection( Sapphire::Network::HivePtr pH
setZoneHandler( ReturnEventScene128, "ReturnEventScene128", &GameConnection::returnEventScene128 ); setZoneHandler( ReturnEventScene128, "ReturnEventScene128", &GameConnection::returnEventScene128 );
setZoneHandler( ReturnEventScene255, "ReturnEventScene255", &GameConnection::returnEventScene255 ); setZoneHandler( ReturnEventScene255, "ReturnEventScene255", &GameConnection::returnEventScene255 );
setZoneHandler( YieldEventSceneHeader, "YieldEventSceneHeader", &GameConnection::yieldEventSceneHeader );
setZoneHandler( YieldEventScene2, "YieldEventScene2", &GameConnection::yieldEventScene2 );
setZoneHandler( YieldEventScene4, "YieldEventScene4", &GameConnection::yieldEventScene4 );
setZoneHandler( YieldEventScene8, "YieldEventScene8", &GameConnection::yieldEventScene8 );
setZoneHandler( YieldEventScene16, "YieldEventScene16", &GameConnection::yieldEventScene16 );
setZoneHandler( YieldEventScene32, "YieldEventScene32", &GameConnection::yieldEventScene32 );
setZoneHandler( YieldEventScene64, "YieldEventScene64", &GameConnection::yieldEventScene64 );
setZoneHandler( YieldEventScene128, "YieldEventScene128", &GameConnection::yieldEventScene128 );
setZoneHandler( YieldEventScene255, "YieldEventScene255", &GameConnection::yieldEventScene255 );
setZoneHandler( StartUIEvent, "StartUIEvent", &GameConnection::startUiEvent ); setZoneHandler( StartUIEvent, "StartUIEvent", &GameConnection::startUiEvent );
setZoneHandler( YieldEventSceneString8, "YieldEventSceneString8", &GameConnection::yieldEventString ); setZoneHandler( YieldEventSceneString8, "YieldEventSceneString8", &GameConnection::yieldEventString );

View file

@ -163,6 +163,16 @@ namespace Sapphire::Network
DECLARE_HANDLER( returnEventScene128 ); DECLARE_HANDLER( returnEventScene128 );
DECLARE_HANDLER( returnEventScene255 ); DECLARE_HANDLER( returnEventScene255 );
DECLARE_HANDLER( yieldEventSceneHeader );
DECLARE_HANDLER( yieldEventScene2 );
DECLARE_HANDLER( yieldEventScene4 );
DECLARE_HANDLER( yieldEventScene8 );
DECLARE_HANDLER( yieldEventScene16 );
DECLARE_HANDLER( yieldEventScene32 );
DECLARE_HANDLER( yieldEventScene64 );
DECLARE_HANDLER( yieldEventScene128 );
DECLARE_HANDLER( yieldEventScene255 );
DECLARE_HANDLER( startUiEvent ); DECLARE_HANDLER( startUiEvent );
DECLARE_HANDLER( yieldEventString ); DECLARE_HANDLER( yieldEventString );

View file

@ -287,6 +287,114 @@ void Sapphire::Network::GameConnection::returnEventScene255( const Packets::FFXI
eventMgr.handleReturnEventScene( player, data.handlerId, data.sceneId, data.errorCode, data.numOfResults, results ); eventMgr.handleReturnEventScene( player, data.handlerId, data.sceneId, data.errorCode, data.numOfResults, results );
} }
void Sapphire::Network::GameConnection::yieldEventSceneHeader( const Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player )
{
auto& eventMgr = Common::Service< World::Manager::EventMgr >::ref();
const auto packet = ZoneChannelPacket< FFXIVIpcYieldEventSceneHeader >( inPacket );
const auto& data = packet.data();
std::vector< uint32_t > results( std::begin( data.results ), std::end( data.results ) );
eventMgr.handleReturnEventScene( player, data.handlerId, data.sceneId, data.yieldId, data.numOfResults, results );
}
void Sapphire::Network::GameConnection::yieldEventScene2( const Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player )
{
auto& eventMgr = Common::Service< World::Manager::EventMgr >::ref();
const auto packet = ZoneChannelPacket< FFXIVIpcYieldEventScene2 >( inPacket );
const auto& data = packet.data();
std::vector< uint32_t > results( std::begin( data.results ), std::end( data.results ) );
eventMgr.handleReturnEventScene( player, data.handlerId, data.sceneId, data.yieldId, data.numOfResults, results );
}
void Sapphire::Network::GameConnection::yieldEventScene4( const Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player )
{
auto& eventMgr = Common::Service< World::Manager::EventMgr >::ref();
const auto packet = ZoneChannelPacket< FFXIVIpcYieldEventScene4 >( inPacket );
const auto& data = packet.data();
std::vector< uint32_t > results( std::begin( data.results ), std::end( data.results ) );
eventMgr.handleReturnEventScene( player, data.handlerId, data.sceneId, data.yieldId, data.numOfResults, results );
}
void Sapphire::Network::GameConnection::yieldEventScene8( const Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player )
{
auto& eventMgr = Common::Service< World::Manager::EventMgr >::ref();
const auto packet = ZoneChannelPacket< FFXIVIpcYieldEventScene8 >( inPacket );
const auto& data = packet.data();
std::vector< uint32_t > results( std::begin( data.results ), std::end( data.results ) );
eventMgr.handleReturnEventScene( player, data.handlerId, data.sceneId, data.yieldId, data.numOfResults, results );
}
void Sapphire::Network::GameConnection::yieldEventScene16( const Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player )
{
auto& eventMgr = Common::Service< World::Manager::EventMgr >::ref();
const auto packet = ZoneChannelPacket< FFXIVIpcYieldEventScene16 >( inPacket );
const auto& data = packet.data();
std::vector< uint32_t > results( std::begin( data.results ), std::end( data.results ) );
eventMgr.handleReturnEventScene( player, data.handlerId, data.sceneId, data.yieldId, data.numOfResults, results );
}
void Sapphire::Network::GameConnection::yieldEventScene32( const Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player )
{
auto& eventMgr = Common::Service< World::Manager::EventMgr >::ref();
const auto packet = ZoneChannelPacket< FFXIVIpcYieldEventScene32 >( inPacket );
const auto& data = packet.data();
std::vector< uint32_t > results( std::begin( data.results ), std::end( data.results ) );
eventMgr.handleReturnEventScene( player, data.handlerId, data.sceneId, data.yieldId, data.numOfResults, results );
}
void Sapphire::Network::GameConnection::yieldEventScene64( const Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player )
{
auto& eventMgr = Common::Service< World::Manager::EventMgr >::ref();
const auto packet = ZoneChannelPacket< FFXIVIpcYieldEventScene64 >( inPacket );
const auto& data = packet.data();
std::vector< uint32_t > results( std::begin( data.results ), std::end( data.results ) );
eventMgr.handleReturnEventScene( player, data.handlerId, data.sceneId, data.yieldId, data.numOfResults, results );
}
void Sapphire::Network::GameConnection::yieldEventScene128( const Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player )
{
auto& eventMgr = Common::Service< World::Manager::EventMgr >::ref();
const auto packet = ZoneChannelPacket< FFXIVIpcYieldEventScene128 >( inPacket );
const auto& data = packet.data();
std::vector< uint32_t > results( std::begin( data.results ), std::end( data.results ) );
eventMgr.handleReturnEventScene( player, data.handlerId, data.sceneId, data.yieldId, data.numOfResults, results );
}
void Sapphire::Network::GameConnection::yieldEventScene255( const Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player )
{
auto& eventMgr = Common::Service< World::Manager::EventMgr >::ref();
const auto packet = ZoneChannelPacket< FFXIVIpcYieldEventScene255 >( inPacket );
const auto& data = packet.data();
std::vector< uint32_t > results( std::begin( data.results ), std::end( data.results ) );
eventMgr.handleReturnEventScene( player, data.handlerId, data.sceneId, data.yieldId, data.numOfResults, results );
}
void Sapphire::Network::GameConnection::yieldEventString( const Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player ) void Sapphire::Network::GameConnection::yieldEventString( const Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player )
{ {
auto& server = Common::Service< World::WorldServer >::ref(); auto& server = Common::Service< World::WorldServer >::ref();