@@ -197,7 +197,7 @@ namespace xpilot
197
197
m_fsd.SendPDU (PDUClientQuery (m_connectInfo.Callsign , " SERVER" , ClientQueryType::PublicIP));
198
198
SendSlowPositionPacket ();
199
199
SendStoppedFastPositionPacket ();
200
- m_slowPositionTimer.setInterval (m_connectInfo.ObserverMode ? 15000 : 5000 );
200
+ m_slowPositionTimer.setInterval (m_connectInfo.ObserverMode || m_connectInfo. TowerViewMode ? 15000 : 5000 );
201
201
m_slowPositionTimer.start ();
202
202
}
203
203
@@ -252,7 +252,7 @@ namespace xpilot
252
252
{
253
253
QStringList realName;
254
254
realName.append (AppConfig::getInstance ()->NameWithHomeAirport ());
255
- realName.append (" " );
255
+ realName.append (m_connectInfo. TowerViewMode ? " xPilot tower view connection " : " " );
256
256
realName.append (QString::number ((int )NetworkRating::OBS));
257
257
m_fsd.SendPDU (PDUClientQueryResponse (m_connectInfo.Callsign , pdu.From , ClientQueryType::RealName, realName));
258
258
}
@@ -355,7 +355,7 @@ namespace xpilot
355
355
{
356
356
QRegularExpression re (" ^" + QRegularExpression::escape (pdu.From ) +" [A-Z]$" );
357
357
358
- if (!m_connectInfo.ObserverMode || !re.match (m_connectInfo.Callsign ).hasMatch ())
358
+ if (!m_connectInfo.ObserverMode || m_connectInfo. TowerViewMode || !re.match (m_connectInfo.Callsign ).hasMatch ())
359
359
{
360
360
AircraftVisualState visualState {};
361
361
visualState.Latitude = pdu.Lat ;
@@ -605,7 +605,7 @@ namespace xpilot
605
605
606
606
void NetworkManager::SendSlowPositionPacket ()
607
607
{
608
- if (m_connectInfo.ObserverMode ) {
608
+ if (m_connectInfo.ObserverMode || m_connectInfo. TowerViewMode ) {
609
609
QList<int > freqs = {99998 };
610
610
m_fsd.SendPDU (PDUATCPosition (m_connectInfo.Callsign , freqs, NetworkFacility::OBS, 40 , NetworkRating::OBS,
611
611
m_userAircraftData.Latitude , m_userAircraftData.Longitude ));
0 commit comments