refs #331 Add FS9 animation param packet

This commit is contained in:
Roland Winklmeier
2014-09-27 23:14:39 +02:00
parent 716b5cc00e
commit 374be69d8a
3 changed files with 76 additions and 0 deletions

View File

@@ -85,6 +85,43 @@ namespace BlackSimPlugin
quint32 data_size = 0; //!< Message size
};
/*!
* Multiplayer packet aircraft parameter
*
* Most of the data is still unknown and needs to be further
* reverse enginered.
*
* Data most likely to be part of it:
* \li Wing animation
*
* Max value for fully extended gear seems to be 0xA1
*/
struct MULTIPLAYER_PACKET_PARAMS
{
quint32 application_time = 0; //!< Application time - ignored
quint32 packet_index = 0; //!< Packet index
quint8 unknown8 = 0; //!< Unknown data
quint8 unknown9 = 0; //!< Unknown data
quint8 flaps_left = 0xDF; //!< Flaps left
quint8 flaps_right = 0xDF; //!< Flaps right
quint8 unknown12 = 0; //!< Unknown data
quint8 unknown13 = 0; //!< Unknown data
quint8 unknown14 = 0xFF; //!< Unknown data
quint8 unknown15 = 0; //!< Unknown data
quint8 unknown16 = 0; //!< Unknown data
quint8 unknown17 = 0; //!< Unknown data
quint8 unknown18 = 0; //!< Unknown data
quint8 unknown19 = 0; //!< Unknown data
quint8 gear_center = 0xA1; //!< Gear center
quint8 gear_left = 0xA1; //!< Gear left
quint8 gear_right = 0xA1; //!< Gear right
quint8 engine_1 = 0xFF; //!< Engine 1 N1 in %
quint8 engine_2 = 0xFF; //!< Engine 2 N1 in %
quint8 unknown25 = 0; //!< Unknown data
quint8 unknown26 = 0; //!< Unknown data
quint8 unknown27 = 0; //!< Unknown data
};
//! Multiplayer chat message
struct MULTIPLAYER_PACKET_CHAT_TEXT
{

View File

@@ -21,6 +21,41 @@ namespace BlackSimPlugin
{
namespace Fs9
{
//! Multiplayer param packet - aircraft configuration
struct MPParam : public MULTIPLAYER_PACKET_PARAMS
{
//! Return tuple of member variables
std::tuple<quint32 &, quint32 &,
quint8 &, quint8 &, quint8 &, quint8 &,
quint8 &, quint8 &, quint8 &, quint8 &,
quint8 &, quint8 &, quint8 &, quint8 &,
quint8 &, quint8 &, quint8 &, quint8 &,
quint8 &, quint8 &, quint8 &, quint8 &> getTuple()
{
return std::tie(application_time, packet_index,
unknown8, unknown9, flaps_left, flaps_right, unknown12, unknown13, unknown14, unknown15,
unknown16, unknown17, unknown18, unknown19, gear_center, gear_left, gear_right,
engine_1, engine_2, unknown25, unknown26, unknown27);
}
//! Return const tuple of member variables
std::tuple<const quint32 &, const quint32 &,
const quint8 &, const quint8 &, const quint8 &, const quint8 &,
const quint8 &, const quint8 &, const quint8 &, const quint8 &,
const quint8 &, const quint8 &, const quint8 &, const quint8 &,
const quint8 &, const quint8 &, const quint8 &, const quint8 &,
const quint8 &, const quint8 &, const quint8 &, const quint8 &>
getTuple() const
{
return std::tie(application_time, packet_index,
unknown8, unknown9, flaps_left, flaps_right, unknown12, unknown13, unknown14, unknown15,
unknown16, unknown17, unknown18, unknown19, gear_center, gear_left, gear_right,
engine_1, engine_2, unknown25, unknown26, unknown27);
}
qint32 size() { return 28; }
};
//! Multiplayer packet - change player plane
struct MPChangePlayerPlane : public MULTIPLAYER_PACKET_CHANGE_PLAYER_PLANE
{

View File

@@ -252,6 +252,10 @@ namespace BlackSimPlugin
switch (messageType)
{
case CFs9Sdk::MULTIPLAYER_PACKET_ID_PARAMS:
{
break;
}
case CFs9Sdk::MULTIPLAYER_PACKET_ID_CHANGE_PLAYER_PLANE:
{
MPChangePlayerPlane mpChangePlayerPlane;