#include <config.h>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <errno.h>
#include <memory>
#include <simgear/debug/logstream.hxx>
#include <simgear/math/sg_random.hxx>
#include <simgear/misc/sg_dir.hxx>
#include <simgear/misc/stdint.hxx>
#include <simgear/misc/strutils.hxx>
#include <simgear/props/props.hxx>
#include <simgear/props/props_io.hxx>
#include <simgear/structure/commands.hxx>
#include <simgear/structure/event_mgr.hxx>
#include <simgear/timing/timestamp.hxx>
#include <AIModel/AIManager.hxx>
#include <AIModel/AIMultiplayer.hxx>
#include <Main/fg_props.hxx>
#include "multiplaymgr.hxx"
#include "mpmessages.hxx"
#include "MPServerResolver.hxx"
#include <FDM/fdm_shell.hxx>
#include <FDM/flightProperties.hxx>
#include <Time/TimeManager.hxx>
#include <Main/sentryIntegration.hxx>
#include "mpirc.hxx"
#include "cpdlc.hxx"
Go to the source code of this file.
|
enum | TransmissionType {
TT_ASIS = 0
, TT_BOOL = simgear::props::BOOL
, TT_INT = simgear::props::INT
, TT_FLOAT = simgear::props::FLOAT
,
TT_STRING = simgear::props::STRING
, TT_SHORTINT = 0x100
, TT_SHORT_FLOAT_NORM = 0x101
, TT_SHORT_FLOAT_1 = 0x102
,
TT_SHORT_FLOAT_2 = 0x103
, TT_SHORT_FLOAT_3 = 0x104
, TT_SHORT_FLOAT_4 = 0x105
, TT_BOOLARRAY
,
TT_CHAR
, TT_NOSEND
} |
|
|
static const IdPropertyList * | findProperty (unsigned id) |
|
static xdr_data_t * | encode_launchbar_state_for_transmission (const IdPropertyList *propDef, const xdr_data_t *_xdr, FGPropertyData *p) |
|
static xdr_data_t * | decode_received_launchbar_state (const IdPropertyList *propDef, const xdr_data_t *_xdr, FGPropertyData *p) |
|
static bool | IsIncludedInPacket (int filter_base, int property_id) |
|
static bool | do_multiplayer_connect (const SGPropertyNode *arg, SGPropertyNode *root) |
|
static bool | do_multiplayer_disconnect (const SGPropertyNode *arg, SGPropertyNode *root) |
|
static bool | do_multiplayer_refreshserverlist (const SGPropertyNode *arg, SGPropertyNode *root) |
|
static bool | do_cpdlc_connect (const SGPropertyNode *arg, SGPropertyNode *root) |
|
static bool | do_cpdlc_send_msg (const SGPropertyNode *arg, SGPropertyNode *root) |
|
static bool | do_cpdlc_next_msg (const SGPropertyNode *arg, SGPropertyNode *root) |
|
static bool | do_cpdlc_disconnect (const SGPropertyNode *arg, SGPropertyNode *root) |
|
static void | copy_default (SGPropertyNode *from, const char *path, SGPropertyNode *to) |
|
static std::string | makeStringPropertyNameSafe (const std::string &s) |
|
SGSubsystemMgr::Registrant< FGMultiplayMgr > | registrantFGMultiplayMgr (SGSubsystemMgr::POST_FDM, {{"ai-model", SGSubsystemMgr::Dependency::HARD}, {"flight", SGSubsystemMgr::Dependency::HARD}, {"mp", SGSubsystemMgr::Dependency::HARD}, {"time", SGSubsystemMgr::Dependency::HARD}}) |
|
◆ MAX_PACKET_SIZE
#define MAX_PACKET_SIZE 1200 |
◆ MAX_TEXT_SIZE
#define MAX_TEXT_SIZE 768 |
◆ TransmissionType
Enumerator |
---|
TT_ASIS | |
TT_BOOL | |
TT_INT | |
TT_FLOAT | |
TT_STRING | |
TT_SHORTINT | |
TT_SHORT_FLOAT_NORM | |
TT_SHORT_FLOAT_1 | |
TT_SHORT_FLOAT_2 | |
TT_SHORT_FLOAT_3 | |
TT_SHORT_FLOAT_4 | |
TT_BOOLARRAY | |
TT_CHAR | |
TT_NOSEND | |
Definition at line 75 of file multiplaymgr.cxx.
◆ copy_default()
static void copy_default |
( |
SGPropertyNode * | from, |
|
|
const char * | path, |
|
|
SGPropertyNode * | to ) |
|
static |
◆ decode_received_launchbar_state()
◆ do_cpdlc_connect()
static bool do_cpdlc_connect |
( |
const SGPropertyNode * | arg, |
|
|
SGPropertyNode * | root ) |
|
static |
◆ do_cpdlc_disconnect()
static bool do_cpdlc_disconnect |
( |
const SGPropertyNode * | arg, |
|
|
SGPropertyNode * | root ) |
|
static |
◆ do_cpdlc_next_msg()
static bool do_cpdlc_next_msg |
( |
const SGPropertyNode * | arg, |
|
|
SGPropertyNode * | root ) |
|
static |
◆ do_cpdlc_send_msg()
static bool do_cpdlc_send_msg |
( |
const SGPropertyNode * | arg, |
|
|
SGPropertyNode * | root ) |
|
static |
◆ do_multiplayer_connect()
static bool do_multiplayer_connect |
( |
const SGPropertyNode * | arg, |
|
|
SGPropertyNode * | root ) |
|
static |
◆ do_multiplayer_disconnect()
static bool do_multiplayer_disconnect |
( |
const SGPropertyNode * | arg, |
|
|
SGPropertyNode * | root ) |
|
static |
◆ do_multiplayer_refreshserverlist()
static bool do_multiplayer_refreshserverlist |
( |
const SGPropertyNode * | arg, |
|
|
SGPropertyNode * | root ) |
|
static |
◆ encode_launchbar_state_for_transmission()
◆ findProperty()
◆ IsIncludedInPacket()
static bool IsIncludedInPacket |
( |
int | filter_base, |
|
|
int | property_id ) |
|
inlinestatic |
◆ makeStringPropertyNameSafe()
static std::string makeStringPropertyNameSafe |
( |
const std::string & | s | ) |
|
|
static |
◆ registrantFGMultiplayMgr()
SGSubsystemMgr::Registrant< FGMultiplayMgr > registrantFGMultiplayMgr |
( |
SGSubsystemMgr::POST_FDM | , |
|
|
{{"ai-model", SGSubsystemMgr::Dependency::HARD}, {"flight", SGSubsystemMgr::Dependency::HARD}, {"mp", SGSubsystemMgr::Dependency::HARD}, {"time", SGSubsystemMgr::Dependency::HARD}} | ) |
◆ BOOLARRAY_BASE_1
const int BOOLARRAY_BASE_1 = 11000 |
◆ BOOLARRAY_BASE_2
◆ BOOLARRAY_BASE_3
◆ BOOLARRAY_BLOCKSIZE
const int BOOLARRAY_BLOCKSIZE = 40 |
◆ BOOLARRAY_END_ID
◆ BOOLARRAY_START_ID
◆ EMESARYBRIDGE_BASE
const int EMESARYBRIDGE_BASE = 12000 |
◆ EMESARYBRIDGETYPE_BASE
const int EMESARYBRIDGETYPE_BASE = 12200 |
◆ FALLBACK_MODEL_ID
const int FALLBACK_MODEL_ID = 13000 |
◆ MAX_BOOL_BUFFERS
const int MAX_BOOL_BUFFERS = 3 |
◆ MAX_PARTITIONS
const int MAX_PARTITIONS = 2 |
◆ numProperties
◆ sIdPropertyList
◆ V1_1_2_PROP_ID
const int V1_1_2_PROP_ID = 2 |
◆ V1_1_PROP_ID
const int V1_1_PROP_ID = 1 |
◆ V2018_1_BASE
const int V2018_1_BASE = 11990 |
◆ V2018_3_BASE
const int V2018_3_BASE = 13000 |
◆ V2019_3_BASE
const int V2019_3_BASE = 13001 |
◆ V2020_4_BASE
const int V2020_4_BASE = 13003 |
◆ V2_PAD_MAGIC
const int V2_PAD_MAGIC = 0x1face002 |
◆ V2_PROP_ID_PROTOCOL
const int V2_PROP_ID_PROTOCOL = 0x10001 |