Protocol 1.9: Alpha-sort, add useful debugging code.
This commit is contained in:
parent
77731f80fb
commit
c7132a3091
|
@ -592,6 +592,37 @@ void cProtocol_1_9_0::SendEntityVelocity(const cEntity & a_Entity)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void cProtocol_1_9_0::SendExperience(void)
|
||||||
|
{
|
||||||
|
ASSERT(m_State == 3); // In game mode?
|
||||||
|
|
||||||
|
cPacketizer Pkt(*this, pktExperience);
|
||||||
|
cPlayer * Player = m_Client->GetPlayer();
|
||||||
|
Pkt.WriteBEFloat(Player->GetXpPercentage());
|
||||||
|
Pkt.WriteVarInt32(static_cast<UInt32>(Player->GetXpLevel()));
|
||||||
|
Pkt.WriteVarInt32(static_cast<UInt32>(Player->GetCurrentXp()));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void cProtocol_1_9_0::SendExperienceOrb(const cExpOrb & a_ExpOrb)
|
||||||
|
{
|
||||||
|
ASSERT(m_State == 3); // In game mode?
|
||||||
|
|
||||||
|
cPacketizer Pkt(*this, pktSpawnExperienceOrb);
|
||||||
|
Pkt.WriteVarInt32(a_ExpOrb.GetUniqueID());
|
||||||
|
Pkt.WriteBEDouble(a_ExpOrb.GetPosX());
|
||||||
|
Pkt.WriteBEDouble(a_ExpOrb.GetPosY());
|
||||||
|
Pkt.WriteBEDouble(a_ExpOrb.GetPosZ());
|
||||||
|
Pkt.WriteBEInt16(static_cast<Int16>(a_ExpOrb.GetReward()));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cProtocol_1_9_0::SendExplosion(double a_BlockX, double a_BlockY, double a_BlockZ, float a_Radius, const cVector3iArray & a_BlocksAffected, const Vector3d & a_PlayerMotion)
|
void cProtocol_1_9_0::SendExplosion(double a_BlockX, double a_BlockY, double a_BlockZ, float a_Radius, const cVector3iArray & a_BlocksAffected, const Vector3d & a_PlayerMotion)
|
||||||
{
|
{
|
||||||
ASSERT(m_State == 3); // In game mode?
|
ASSERT(m_State == 3); // In game mode?
|
||||||
|
@ -1215,37 +1246,6 @@ void cProtocol_1_9_0::SendRespawn(eDimension a_Dimension)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cProtocol_1_9_0::SendExperience(void)
|
|
||||||
{
|
|
||||||
ASSERT(m_State == 3); // In game mode?
|
|
||||||
|
|
||||||
cPacketizer Pkt(*this, pktExperience);
|
|
||||||
cPlayer * Player = m_Client->GetPlayer();
|
|
||||||
Pkt.WriteBEFloat(Player->GetXpPercentage());
|
|
||||||
Pkt.WriteVarInt32(static_cast<UInt32>(Player->GetXpLevel()));
|
|
||||||
Pkt.WriteVarInt32(static_cast<UInt32>(Player->GetCurrentXp()));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cProtocol_1_9_0::SendExperienceOrb(const cExpOrb & a_ExpOrb)
|
|
||||||
{
|
|
||||||
ASSERT(m_State == 3); // In game mode?
|
|
||||||
|
|
||||||
cPacketizer Pkt(*this, pktSpawnExperienceOrb);
|
|
||||||
Pkt.WriteVarInt32(a_ExpOrb.GetUniqueID());
|
|
||||||
Pkt.WriteBEDouble(a_ExpOrb.GetPosX());
|
|
||||||
Pkt.WriteBEDouble(a_ExpOrb.GetPosY());
|
|
||||||
Pkt.WriteBEDouble(a_ExpOrb.GetPosZ());
|
|
||||||
Pkt.WriteBEInt16(static_cast<Int16>(a_ExpOrb.GetReward()));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cProtocol_1_9_0::SendScoreboardObjective(const AString & a_Name, const AString & a_DisplayName, Byte a_Mode)
|
void cProtocol_1_9_0::SendScoreboardObjective(const AString & a_Name, const AString & a_DisplayName, Byte a_Mode)
|
||||||
{
|
{
|
||||||
ASSERT(m_State == 3); // In game mode?
|
ASSERT(m_State == 3); // In game mode?
|
||||||
|
@ -3392,9 +3392,6 @@ eHand cProtocol_1_9_0::HandIntToEnum(Int32 a_Hand)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// cProtocol_1_9_0::cPacketizer:
|
|
||||||
|
|
||||||
void cProtocol_1_9_0::SendPacket(cPacketizer & a_Pkt)
|
void cProtocol_1_9_0::SendPacket(cPacketizer & a_Pkt)
|
||||||
{
|
{
|
||||||
UInt32 PacketLen = static_cast<UInt32>(m_OutPacketBuffer.GetUsedSpace());
|
UInt32 PacketLen = static_cast<UInt32>(m_OutPacketBuffer.GetUsedSpace());
|
||||||
|
@ -3445,10 +3442,22 @@ void cProtocol_1_9_0::SendPacket(cPacketizer & a_Pkt)
|
||||||
AString Hex;
|
AString Hex;
|
||||||
ASSERT(PacketData.size() > 0);
|
ASSERT(PacketData.size() > 0);
|
||||||
CreateHexDump(Hex, PacketData.data(), PacketData.size(), 16);
|
CreateHexDump(Hex, PacketData.data(), PacketData.size(), 16);
|
||||||
m_CommLogFile.Printf("Outgoing packet: type %s (0x%02x), length %u (0x%04x), state %d. Payload (incl. type):\n%s\n",
|
m_CommLogFile.Printf("Outgoing packet: type %s (translated to 0x%02x), length %u (0x%04x), state %d. Payload (incl. type):\n%s\n",
|
||||||
cPacketizer::PacketTypeToStr(a_Pkt.GetPacketType()), a_Pkt.GetPacketType(), PacketLen, PacketLen, m_State, Hex
|
cPacketizer::PacketTypeToStr(a_Pkt.GetPacketType()), GetPacketID(a_Pkt.GetPacketType()),
|
||||||
|
PacketLen, PacketLen, m_State, Hex
|
||||||
);
|
);
|
||||||
|
/*
|
||||||
|
// Useful for debugging a new protocol:
|
||||||
|
LOGD("Outgoing packet: type %s (translated to 0x%02x), length %u (0x%04x), state %d. Payload (incl. type):\n%s\n",
|
||||||
|
cPacketizer::PacketTypeToStr(a_Pkt.GetPacketType()), GetPacketID(a_Pkt.GetPacketType()),
|
||||||
|
PacketLen, PacketLen, m_State, Hex
|
||||||
|
);
|
||||||
|
//*/
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
// Useful for debugging a new protocol:
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(100));
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -67,6 +67,8 @@ public:
|
||||||
virtual void SendEntityRelMoveLook (const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ) override;
|
virtual void SendEntityRelMoveLook (const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ) override;
|
||||||
virtual void SendEntityStatus (const cEntity & a_Entity, char a_Status) override;
|
virtual void SendEntityStatus (const cEntity & a_Entity, char a_Status) override;
|
||||||
virtual void SendEntityVelocity (const cEntity & a_Entity) override;
|
virtual void SendEntityVelocity (const cEntity & a_Entity) override;
|
||||||
|
virtual void SendExperience (void) override;
|
||||||
|
virtual void SendExperienceOrb (const cExpOrb & a_ExpOrb) override;
|
||||||
virtual void SendExplosion (double a_BlockX, double a_BlockY, double a_BlockZ, float a_Radius, const cVector3iArray & a_BlocksAffected, const Vector3d & a_PlayerMotion) override;
|
virtual void SendExplosion (double a_BlockX, double a_BlockY, double a_BlockZ, float a_Radius, const cVector3iArray & a_BlocksAffected, const Vector3d & a_PlayerMotion) override;
|
||||||
virtual void SendGameMode (eGameMode a_GameMode) override;
|
virtual void SendGameMode (eGameMode a_GameMode) override;
|
||||||
virtual void SendHealth (void) override;
|
virtual void SendHealth (void) override;
|
||||||
|
@ -98,8 +100,6 @@ public:
|
||||||
virtual void SendResetTitle (void) override;
|
virtual void SendResetTitle (void) override;
|
||||||
virtual void SendRespawn (eDimension a_Dimension) override;
|
virtual void SendRespawn (eDimension a_Dimension) override;
|
||||||
virtual void SendSoundEffect (const AString & a_SoundName, double a_X, double a_Y, double a_Z, float a_Volume, float a_Pitch) override;
|
virtual void SendSoundEffect (const AString & a_SoundName, double a_X, double a_Y, double a_Z, float a_Volume, float a_Pitch) override;
|
||||||
virtual void SendExperience (void) override;
|
|
||||||
virtual void SendExperienceOrb (const cExpOrb & a_ExpOrb) override;
|
|
||||||
virtual void SendScoreboardObjective (const AString & a_Name, const AString & a_DisplayName, Byte a_Mode) override;
|
virtual void SendScoreboardObjective (const AString & a_Name, const AString & a_DisplayName, Byte a_Mode) override;
|
||||||
virtual void SendScoreUpdate (const AString & a_Objective, const AString & a_Player, cObjective::Score a_Score, Byte a_Mode) override;
|
virtual void SendScoreUpdate (const AString & a_Objective, const AString & a_Player, cObjective::Score a_Score, Byte a_Mode) override;
|
||||||
virtual void SendDisplayObjective (const AString & a_Objective, cScoreboard::eDisplaySlot a_Display) override;
|
virtual void SendDisplayObjective (const AString & a_Objective, cScoreboard::eDisplaySlot a_Display) override;
|
||||||
|
|
Loading…
Reference in New Issue