mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-27 22:57:45 +00:00
Merge
This commit is contained in:
commit
384e517316
6 changed files with 23 additions and 24 deletions
1
deps/datReader/Exd/Structs.h
vendored
1
deps/datReader/Exd/Structs.h
vendored
|
@ -616,6 +616,7 @@ namespace Component::Excel
|
||||||
struct Emote
|
struct Emote
|
||||||
{
|
{
|
||||||
EmoteTextStruct Text;
|
EmoteTextStruct Text;
|
||||||
|
uint32_t Unknown;
|
||||||
int32_t TimelineID;
|
int32_t TimelineID;
|
||||||
int32_t TimelineID_Begin;
|
int32_t TimelineID_Begin;
|
||||||
int32_t TimelineID_End;
|
int32_t TimelineID_End;
|
||||||
|
|
|
@ -698,14 +698,16 @@ namespace Sapphire::Network::Packets::WorldPackets::Server
|
||||||
uint8_t LinkFamily;
|
uint8_t LinkFamily;
|
||||||
uint8_t LinkParent;
|
uint8_t LinkParent;
|
||||||
uint8_t PoseEmote;
|
uint8_t PoseEmote;
|
||||||
|
uint8_t __padding3;
|
||||||
|
uint16_t Flag;
|
||||||
uint8_t __padding2;
|
uint8_t __padding2;
|
||||||
uint32_t Flag;
|
uint8_t __padding4;
|
||||||
Common::StatusWork Status[30];
|
Common::StatusWork Status[30];
|
||||||
MountStruct Mount;
|
MountStruct Mount;
|
||||||
uint8_t Name[32];
|
uint8_t Name[32];
|
||||||
uint8_t Customize[26];
|
uint8_t Customize[26];
|
||||||
uint8_t __padding3;
|
uint8_t __padding5;
|
||||||
uint8_t __padding4;
|
uint8_t __padding6;
|
||||||
uint32_t Equipment[10];
|
uint32_t Equipment[10];
|
||||||
float Pos[3];
|
float Pos[3];
|
||||||
uint8_t FreeCompanyTag[6];
|
uint8_t FreeCompanyTag[6];
|
||||||
|
|
|
@ -998,7 +998,12 @@ void Sapphire::Entity::Player::spawn( Entity::PlayerPtr pTarget )
|
||||||
{
|
{
|
||||||
Logger::debug( "[{0}] Spawning {1} for {2}", pTarget->getId(), getName(), pTarget->getName() );
|
Logger::debug( "[{0}] Spawning {1} for {2}", pTarget->getId(), getName(), pTarget->getName() );
|
||||||
|
|
||||||
pTarget->queuePacket( std::make_shared< PlayerSpawnPacket >( *this, *pTarget ) );
|
auto spawnPacket = std::make_shared< PlayerSpawnPacket >( *this, *pTarget );
|
||||||
|
FILE *fp;
|
||||||
|
fp = fopen( "spawnPacket1.bin", "wb" );
|
||||||
|
fwrite( spawnPacket->getData().data(), spawnPacket->getData().size(), 1, fp );
|
||||||
|
fclose( fp );
|
||||||
|
pTarget->queuePacket( spawnPacket );
|
||||||
}
|
}
|
||||||
|
|
||||||
// despawn
|
// despawn
|
||||||
|
@ -1628,10 +1633,6 @@ void Sapphire::Entity::Player::sendZonePackets()
|
||||||
queuePacket( contentFinderList );
|
queuePacket( contentFinderList );
|
||||||
|
|
||||||
auto statusPacket = makePlayerSetup( *this );
|
auto statusPacket = makePlayerSetup( *this );
|
||||||
/*FILE *fp;
|
|
||||||
fp = fopen( "statusDump.bin", "wb" );
|
|
||||||
fwrite( statusPacket->getData().data(), statusPacket->getData().size(), 1, fp );
|
|
||||||
fclose( fp );*/
|
|
||||||
|
|
||||||
queuePacket( statusPacket );
|
queuePacket( statusPacket );
|
||||||
|
|
||||||
|
|
|
@ -432,21 +432,16 @@ void Sapphire::Network::GameConnection::newDiscoveryHandler( const Packets::FFXI
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void Sapphire::Network::GameConnection::loginHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
void Sapphire::Network::GameConnection::loginHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player )
|
||||||
Entity::Player& player )
|
|
||||||
{
|
{
|
||||||
auto& teriMgr = Common::Service< World::Manager::TerritoryMgr >::ref();
|
auto& teriMgr = Common::Service< World::Manager::TerritoryMgr >::ref();
|
||||||
teriMgr.joinWorld( player );
|
|
||||||
|
|
||||||
// init handler means this is a login procedure
|
// init handler means this is a login procedure
|
||||||
player.setIsLogin( true );
|
player.setIsLogin( true );
|
||||||
|
teriMgr.joinWorld( player );
|
||||||
player.sendZonePackets();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Sapphire::Network::GameConnection::getBlacklistHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
void Sapphire::Network::GameConnection::getBlacklistHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player )
|
||||||
Entity::Player& player )
|
|
||||||
{
|
{
|
||||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcGetBlacklist >( inPacket );
|
const auto packet = ZoneChannelPacket< Client::FFXIVIpcGetBlacklist >( inPacket );
|
||||||
auto& data = packet.data();
|
auto& data = packet.data();
|
||||||
|
|
|
@ -42,7 +42,8 @@ namespace Sapphire::Network::Packets::WorldPackets::Server
|
||||||
|
|
||||||
m_data.Lv = player.getLevel();
|
m_data.Lv = player.getLevel();
|
||||||
m_data.GMRank = player.getGmRank();
|
m_data.GMRank = player.getGmRank();
|
||||||
m_data.ModeArgs = player.getPose();
|
m_data.ModeArgs = player.getPersistentEmote();
|
||||||
|
m_data.PoseEmote = player.getPose();
|
||||||
|
|
||||||
if( player.isDirectorInitialized() )
|
if( player.isDirectorInitialized() )
|
||||||
{
|
{
|
||||||
|
@ -78,8 +79,8 @@ namespace Sapphire::Network::Packets::WorldPackets::Server
|
||||||
m_data.Title = player.getTitle();
|
m_data.Title = player.getTitle();
|
||||||
m_data.Voice = player.getVoiceId();
|
m_data.Voice = player.getVoiceId();
|
||||||
|
|
||||||
//m_data.activeMinion = player.getCurrentCompanion();
|
m_data.Companion = player.getCurrentCompanion();
|
||||||
//m_data.activeMinion = 0;
|
m_data.Mount.Id = player.getCurrentMount();
|
||||||
|
|
||||||
m_data.OnlineStatus = static_cast< uint8_t >( player.getOnlineStatus() );
|
m_data.OnlineStatus = static_cast< uint8_t >( player.getOnlineStatus() );
|
||||||
|
|
||||||
|
@ -90,7 +91,7 @@ namespace Sapphire::Network::Packets::WorldPackets::Server
|
||||||
m_data.ObjType = 4;
|
m_data.ObjType = 4;
|
||||||
if( target.getId() == player.getId() )
|
if( target.getId() == player.getId() )
|
||||||
{
|
{
|
||||||
m_data.Index = 0x00;
|
m_data.Index = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -128,7 +129,6 @@ namespace Sapphire::Network::Packets::WorldPackets::Server
|
||||||
}
|
}
|
||||||
|
|
||||||
// m_data.currentMount = player.getCurrentMount();
|
// m_data.currentMount = player.getCurrentMount();
|
||||||
// m_data.persistentEmote = player.getPersistentEmote();
|
|
||||||
|
|
||||||
m_data.MainTarget = player.getTargetId();
|
m_data.MainTarget = player.getTargetId();
|
||||||
//m_data.type = 1;
|
//m_data.type = 1;
|
||||||
|
|
|
@ -508,7 +508,7 @@ void Sapphire::Territory::updateSessions( uint64_t tickCount, bool changedWeathe
|
||||||
// this session is not linked to this area anymore, remove it from zone session list
|
// this session is not linked to this area anymore, remove it from zone session list
|
||||||
if( ( !pPlayer->getCurrentTerritory() ) || ( pPlayer->getCurrentTerritory() != shared_from_this() ) )
|
if( ( !pPlayer->getCurrentTerritory() ) || ( pPlayer->getCurrentTerritory() != shared_from_this() ) )
|
||||||
{
|
{
|
||||||
Logger::debug( "removeActor( pPlayer );" );
|
Logger::debug( "[{}] removeActor( pPlayer );", pPlayer->getId() );
|
||||||
removeActor( pPlayer );
|
removeActor( pPlayer );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -733,12 +733,12 @@ void Sapphire::Territory::updateInRangeSet( Entity::GameObjectPtr pActor, CellPt
|
||||||
|
|
||||||
void Sapphire::Territory::onPlayerZoneIn( Entity::Player& player )
|
void Sapphire::Territory::onPlayerZoneIn( Entity::Player& player )
|
||||||
{
|
{
|
||||||
Logger::debug( "Territory::onEnterTerritory: Territory#{0}|{1}, Entity#{2}", getGuId(), getTerritoryTypeId(), player.getId() );
|
Logger::debug( "[{2}] Territory::onEnterTerritory: Territory#{0}|{1}", getGuId(), getTerritoryTypeId(), player.getId() );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Sapphire::Territory::onLeaveTerritory( Entity::Player& player )
|
void Sapphire::Territory::onLeaveTerritory( Entity::Player& player )
|
||||||
{
|
{
|
||||||
Logger::debug( "Territory::onLeaveTerritory: Territory#{0}|{1}, Entity#{2}", getGuId(), getTerritoryTypeId(), player.getId() );
|
Logger::debug( "[{2}] Territory::onLeaveTerritory: Territory#{0}|{1}", getGuId(), getTerritoryTypeId(), player.getId() );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Sapphire::Territory::onUpdate( uint64_t tickCount )
|
void Sapphire::Territory::onUpdate( uint64_t tickCount )
|
||||||
|
|
Loading…
Add table
Reference in a new issue