mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-05-28 12:17:46 +00:00
JobGauge union.
This commit is contained in:
parent
20247f5870
commit
47719addae
3 changed files with 23 additions and 21 deletions
|
@ -1085,6 +1085,22 @@ namespace Sapphire::Common
|
||||||
RequireCorrectPositional = 2,
|
RequireCorrectPositional = 2,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
union JobGauge
|
||||||
|
{
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
uint8_t gauge_data[15];
|
||||||
|
} _raw;
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
uint8_t beastGauge;
|
||||||
|
} war;
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
uint8_t oathGauge;
|
||||||
|
} pld;
|
||||||
|
};
|
||||||
|
|
||||||
using PlayerStateFlagList = std::vector< PlayerStateFlag >;
|
using PlayerStateFlagList = std::vector< PlayerStateFlag >;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2161,24 +2161,14 @@ bool Sapphire::Entity::Player::checkAction()
|
||||||
|
|
||||||
void Sapphire::Entity::Player::gaugeClear()
|
void Sapphire::Entity::Player::gaugeClear()
|
||||||
{
|
{
|
||||||
std::memset( m_gauge, 0, sizeof( m_gauge ) );
|
std::memset( &m_gauge, 0, sizeof( m_gauge ) );
|
||||||
}
|
|
||||||
|
|
||||||
void Sapphire::Entity::Player::gaugeSet( uint8_t index, uint8_t value )
|
|
||||||
{
|
|
||||||
m_gauge[ index ] = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint8_t Sapphire::Entity::Player::gaugeGet( uint8_t index )
|
|
||||||
{
|
|
||||||
return m_gauge[ index ];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Sapphire::Entity::Player::sendActorGauge()
|
void Sapphire::Entity::Player::sendActorGauge()
|
||||||
{
|
{
|
||||||
auto pPacket = makeZonePacket< FFXIVIpcActorGauge >( getId() );
|
auto pPacket = makeZonePacket< FFXIVIpcActorGauge >( getId() );
|
||||||
pPacket->data().classJobId = static_cast< uint8_t >( getClass() );
|
pPacket->data().classJobId = static_cast< uint8_t >( getClass() );
|
||||||
std::memcpy( pPacket->data().data, m_gauge, sizeof( m_gauge ) );
|
std::memcpy( pPacket->data().data, &m_gauge, sizeof( m_gauge ) );
|
||||||
|
|
||||||
queuePacket( pPacket );
|
queuePacket( pPacket );
|
||||||
}
|
}
|
||||||
|
@ -2196,25 +2186,25 @@ void Sapphire::Entity::Player::gaugeWarSetIb( uint8_t value )
|
||||||
}
|
}
|
||||||
queuePacket( pPacket );
|
queuePacket( pPacket );
|
||||||
}
|
}
|
||||||
gaugeSet( 0, value );
|
m_gauge.war.beastGauge = value;
|
||||||
if( oldValue != value )
|
if( oldValue != value )
|
||||||
sendActorGauge();
|
sendActorGauge();
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t Sapphire::Entity::Player::gaugeWarGetIb()
|
uint8_t Sapphire::Entity::Player::gaugeWarGetIb()
|
||||||
{
|
{
|
||||||
return gaugeGet( 0 );
|
return m_gauge.war.beastGauge;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Sapphire::Entity::Player::gaugePldSetOath( uint8_t value )
|
void Sapphire::Entity::Player::gaugePldSetOath( uint8_t value )
|
||||||
{
|
{
|
||||||
auto oldValue = gaugePldGetOath();
|
auto oldValue = gaugePldGetOath();
|
||||||
gaugeSet( 0, value );
|
m_gauge.pld.oathGauge = value;
|
||||||
if( oldValue != value )
|
if( oldValue != value )
|
||||||
sendActorGauge();
|
sendActorGauge();
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t Sapphire::Entity::Player::gaugePldGetOath()
|
uint8_t Sapphire::Entity::Player::gaugePldGetOath()
|
||||||
{
|
{
|
||||||
return gaugeGet( 0 );
|
return m_gauge.pld.oathGauge;
|
||||||
}
|
}
|
|
@ -973,10 +973,6 @@ namespace Sapphire::Entity
|
||||||
|
|
||||||
// Job UI
|
// Job UI
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
private:
|
|
||||||
void gaugeSet( uint8_t index, uint8_t value );
|
|
||||||
uint8_t gaugeGet( uint8_t index );
|
|
||||||
public:
|
|
||||||
void gaugeClear();
|
void gaugeClear();
|
||||||
void sendActorGauge();
|
void sendActorGauge();
|
||||||
|
|
||||||
|
@ -1098,7 +1094,7 @@ namespace Sapphire::Entity
|
||||||
bool m_bLoadingComplete;
|
bool m_bLoadingComplete;
|
||||||
bool m_bAutoattack;
|
bool m_bAutoattack;
|
||||||
|
|
||||||
uint8_t m_gauge[15];
|
Common::JobGauge m_gauge;
|
||||||
|
|
||||||
Common::ZoneingType m_zoningType;
|
Common::ZoneingType m_zoningType;
|
||||||
uint32_t m_territoryId;
|
uint32_t m_territoryId;
|
||||||
|
|
Loading…
Add table
Reference in a new issue