mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-27 22:57:45 +00:00
add preliminary hierarchy data to ls commonlist;
This commit is contained in:
parent
2b8a3ba8a0
commit
57d5982309
2 changed files with 34 additions and 2 deletions
|
@ -1013,8 +1013,13 @@ namespace Sapphire::Common
|
|||
uint8_t status;
|
||||
uint8_t type;
|
||||
uint8_t group;
|
||||
uint8_t unk;
|
||||
uint8_t unavailable;
|
||||
} data;
|
||||
|
||||
struct Hierarchy32 {
|
||||
uint32_t date;
|
||||
uint32_t rawId;
|
||||
} u32;
|
||||
};
|
||||
|
||||
/* 61719 */
|
||||
|
|
|
@ -213,10 +213,37 @@ void Sapphire::Network::GameConnection::getCommonlistHandler( const Packets::FFX
|
|||
auto& inviteSet = lsPtr->getInviteIdList();
|
||||
|
||||
std::vector< uint64_t > memberVec;
|
||||
std::vector< Common::HierarchyData > hierarchyData;
|
||||
std::copy( memberSet.begin(), memberSet.end(), std::back_inserter( memberVec ) );
|
||||
std::copy( inviteSet.begin(), inviteSet.end(), std::back_inserter( memberVec ) );
|
||||
|
||||
page = generateEntries( memberVec, offset, {} );
|
||||
for( const auto& id : memberVec )
|
||||
{
|
||||
Common::HierarchyData hierarchy;
|
||||
if( lsPtr->getMasterId() == id )
|
||||
{
|
||||
hierarchy.data.type = Ls::LinkshellHierarchy::Master;
|
||||
hierarchy.u32.rawId |= 1ul << 11;
|
||||
}
|
||||
else if( lsPtr->getLeaderIdList().count( id ) )
|
||||
{
|
||||
hierarchy.data.type = Ls::LinkshellHierarchy::Leader;
|
||||
hierarchy.u32.rawId |= 1ul << 11;
|
||||
}
|
||||
else if( lsPtr->getInviteIdList().count( id ) )
|
||||
{
|
||||
hierarchy.data.type = Ls::LinkshellHierarchy::Invite;
|
||||
}
|
||||
else
|
||||
{
|
||||
hierarchy.data.type = Ls::LinkshellHierarchy::Member;
|
||||
hierarchy.u32.rawId |= 1ul << 11;
|
||||
}
|
||||
|
||||
hierarchyData.push_back( hierarchy );
|
||||
}
|
||||
|
||||
page = generateEntries( memberVec, offset, hierarchyData );
|
||||
}
|
||||
}
|
||||
else if( data.ListType == 0x0e )
|
||||
|
|
Loading…
Add table
Reference in a new issue