1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-27 22:57:45 +00:00

More titlelist stuff (broken for half of the titles);

This commit is contained in:
Maru 2017-10-08 20:26:56 -03:00
parent 3f611c47bb
commit ffd85ff45f
2 changed files with 32 additions and 3 deletions

View file

@ -645,7 +645,7 @@ struct FFXIVIpcUpdateClassInfo : FFXIVIpcBasePacket<UpdateClassInfo>
*/
struct FFXIVIpcPlayerTitleList : FFXIVIpcBasePacket<PlayerTitleList>
{
uint16_t bitmask;
uint8_t titleList[0x30];
//uint16_t padding;
};

View file

@ -121,10 +121,39 @@ void Core::Network::GameConnection::actionHandler( const Packets::GamePacket& in
case 0x12F: // Get title list
{
g_log.debug( "for real" );
GamePacketNew< FFXIVIpcPlayerTitleList, ServerZoneIpcType > titleListPacket( pPlayer->getId() );
//titleListPacket.data().padding = 3;
titleListPacket.data().bitmask = 0;
/*
titleListPacket.data().titleList[0] |= (1 << 1);
titleListPacket.data().titleList[0] |= ( 1 << 2 );
titleListPacket.data().titleList[0] |= ( 1 << 4 );
titleListPacket.data().titleList[0] |= ( 1 << 8 );
titleListPacket.data().titleList[16] |= ( 1 << 2 );
titleListPacket.data().titleList[20] |= ( 1 << 2 );
titleListPacket.data().titleList[0x2F] = 0xFF;*/
uint32_t titleId = 182;
uint32_t arrayAcc = titleId / 8;
uint32_t maskVal;
if ( titleId < 8 )
{
maskVal = titleId;
}
else if ( titleId < 16 )
{
maskVal = ( (titleId) % 8 );
}
else
{
maskVal = ( titleId % arrayAcc ) + 1;
}
titleListPacket.data().titleList[arrayAcc] |= ( maskVal );
//titleListPacket.data().titleList[6] |= (1 << 1);
pPlayer->queuePacket( titleListPacket );
}