Complete Qt6 migration: full clean build green across groups G1-G12 incl. runtime plugin set
new_docker_build.sh gains Group 12 (212 GUI/Data plugins); fixes LtsUtilsGuiDds visibility (LTO-stripped exports), LtsProjectionWorkstation unity name shadow, 6 unity-off dirs (dup file-scope statics, ddsftc INTERFACE sources) and reconfigures BUILD_FILTERMANAGEMENT/BUILD_PLUGINS_SERVICEMONITOR=ON
This commit is contained in:
1 parent
eb1d949edc
commit
815e16368e
1718 files changed
+126739
-18495
No files matched your search
+37
-37
@@ -187,7 +187,7 @@ void AesHandler::onAesItemViewChanged(const AesItemView &data, DataModification
|
||||
<< "\nboundingBoxBottomLeft: " << ParticipantPosition(data.boundingBoxBottomLeft()).toString()
|
||||
<< "\nboundingBoxTopRight: " << ParticipantPosition(data.boundingBoxTopRight()).toString()
|
||||
<< "\neffectStateId: " << toString(data.effectStateId())
|
||||
<< "\npartyId: " << (data.partyId().is_set() ? QString::number(data.partyId().get()) : QStringLiteral("not set"))
|
||||
<< "\npartyId: " << (data.partyId().has_value() ? QString::number(data.partyId().get()) : QStringLiteral("not set"))
|
||||
<< "\nchargeTypeId: " << data.chargeStruct().chargeTypeId()
|
||||
<< "\neffectStart: " << data.effectStart() << "\n";
|
||||
}
|
||||
@@ -212,7 +212,7 @@ void AesHandler::onAesItemViewChanged(const AesItemView &data, DataModification
|
||||
|
||||
else if (data.aesTypeId() == AesType::AtBCContamination)
|
||||
{
|
||||
m_ngsHandler->ngsConnector()->setItemForm(data.aesItemId(), data.aesTypeId().underlying(), data.form());
|
||||
m_ngsHandler->ngsConnector()->setItemForm(data.aesItemId(), data.aesTypeId(), data.form());
|
||||
DEBUG_LOG(m_logger) << "Item view with id " << data.aesItemId() << " directly updated in ngsConnector";
|
||||
}
|
||||
}
|
||||
@@ -260,7 +260,7 @@ void AesHandler::onTriggeredImpactsChanged(const TriggeredImpacts &data, DataMod
|
||||
if (chargeTypeId <= 0)
|
||||
return;
|
||||
|
||||
rpr2::ForceIdentifierEnum8::ET forceId = aesItemView.partyId().is_set() ? m_ngsHandler->ppmHandler()->forceIdentifierFromPartyId(aesItemView.partyId().get()) : rpr2::ForceIdentifierEnum8::Other;
|
||||
rpr2::ForceIdentifierEnum8::ET forceId = aesItemView.partyId().has_value() ? m_ngsHandler->ppmHandler()->forceIdentifierFromPartyId(aesItemView.partyId().get()) : rpr2::ForceIdentifierEnum8::Other;
|
||||
|
||||
for (int32_t bitFieldIdx = 0; bitFieldIdx < data.impactCount(); ++bitFieldIdx)
|
||||
{
|
||||
@@ -303,8 +303,8 @@ void AesHandler::onEffectsChanged(const Effects &data, DataModification modType)
|
||||
|
||||
|
||||
|
||||
if (!exCluster.partyId().is_set() &&
|
||||
(!exCluster.participantId().is_set() || exCluster.participantId().get() <= 0))
|
||||
if (!exCluster.partyId().has_value() &&
|
||||
(!exCluster.participantId().has_value() || exCluster.participantId().get() <= 0))
|
||||
return;
|
||||
|
||||
const int chargeTypeId = exCluster.chargeStruct().chargeTypeId();
|
||||
@@ -316,7 +316,7 @@ void AesHandler::onEffectsChanged(const Effects &data, DataModification modType)
|
||||
|
||||
|
||||
|
||||
const rpr2::ForceIdentifierEnum8::ET forceId = exCluster.partyId().is_set() ? m_ngsHandler->ppmHandler()->forceIdentifierFromPartyId(exCluster.partyId().get()) : rpr2::ForceIdentifierEnum8::Other;
|
||||
const rpr2::ForceIdentifierEnum8::ET forceId = exCluster.partyId().has_value() ? m_ngsHandler->ppmHandler()->forceIdentifierFromPartyId(exCluster.partyId().get()) : rpr2::ForceIdentifierEnum8::Other;
|
||||
|
||||
|
||||
int curSeIndex = -1;
|
||||
@@ -359,10 +359,10 @@ void AesHandler::onAesExplosionSingleChanged(const ExplosionSingle &data, DataMo
|
||||
<< "\nsampleTime: " << data.sampleTime()
|
||||
<< "\nchargeTypeId: " << data.chargeStruct().chargeTypeId()
|
||||
<< "\neffectDuration: " << data.effectDuration()
|
||||
<< "\neffectStart: " << (data.effectStart().is_set() ? QString::number(data.effectStart().get()) : QStringLiteral("not set"))
|
||||
<< "\neffectStart: " << (data.effectStart().has_value() ? QString::number(data.effectStart().get()) : QStringLiteral("not set"))
|
||||
<< "\neffectStateId: " << toString(data.effectStateId())
|
||||
<< "\npartyId: " << (data.partyId().is_set() ? QString::number(data.partyId().get()) : QStringLiteral("not set"))
|
||||
<< "\nparticipantId: " << (data.participantId().is_set() ? QString::number(data.participantId().get()) : QStringLiteral("not set"))
|
||||
<< "\npartyId: " << (data.partyId().has_value() ? QString::number(data.partyId().get()) : QStringLiteral("not set"))
|
||||
<< "\nparticipantId: " << (data.participantId().has_value() ? QString::number(data.participantId().get()) : QStringLiteral("not set"))
|
||||
<< "\nimpactPosition: " << ParticipantPosition(data.impactPosition()).toString()
|
||||
<< "\nfireRequestTime: " << data.fireRequestTime()
|
||||
<< "\naltitude: " << data.altitude()
|
||||
@@ -372,13 +372,13 @@ void AesHandler::onAesExplosionSingleChanged(const ExplosionSingle &data, DataMo
|
||||
return;
|
||||
|
||||
|
||||
if (!data.partyId().is_set() &&
|
||||
(!data.participantId().is_set() || data.participantId().get() <= 0))
|
||||
if (!data.partyId().has_value() &&
|
||||
(!data.participantId().has_value() || data.participantId().get() <= 0))
|
||||
return;
|
||||
|
||||
|
||||
ParticipantPosition pos(data.impactPosition(), data.effectStart().is_set() ? data.effectStart().get() : data.sampleTime());
|
||||
rpr2::ForceIdentifierEnum8::ET forceId = data.partyId().is_set() ? m_ngsHandler->ppmHandler()->forceIdentifierFromPartyId(data.partyId().get()) : rpr2::ForceIdentifierEnum8::Other;
|
||||
ParticipantPosition pos(data.impactPosition(), data.effectStart().has_value() ? data.effectStart().get() : data.sampleTime());
|
||||
rpr2::ForceIdentifierEnum8::ET forceId = data.partyId().has_value() ? m_ngsHandler->ppmHandler()->forceIdentifierFromPartyId(data.partyId().get()) : rpr2::ForceIdentifierEnum8::Other;
|
||||
m_ngsHandler->ngsConnector()->sendMunitionDetonation(pos, data.chargeStruct().chargeTypeId(), forceId);
|
||||
|
||||
}
|
||||
@@ -397,10 +397,10 @@ void AesHandler::onAesMineAreaChanged(const MineArea &data, DataModification mod
|
||||
<< "\nsampleTime: " << data.sampleTime()
|
||||
<< "\nchargeTypeId: " << data.chargeStruct().chargeTypeId()
|
||||
<< "\neffectDuration: " << data.effectDuration()
|
||||
<< "\neffectStart: " << (data.effectStart().is_set() ? QString::number(data.effectStart().get()) : QStringLiteral("not set"))
|
||||
<< "\neffectStart: " << (data.effectStart().has_value() ? QString::number(data.effectStart().get()) : QStringLiteral("not set"))
|
||||
<< "\neffectStateId: " << toString(data.effectStateId())
|
||||
<< "\npartyId: " << (data.partyId().is_set() ? QString::number(data.partyId().get()) : QStringLiteral("not set"))
|
||||
<< "\nparticipantId: " << (data.participantId().is_set() ? QString::number(data.participantId().get()) : QStringLiteral("not set"))
|
||||
<< "\npartyId: " << (data.partyId().has_value() ? QString::number(data.partyId().get()) : QStringLiteral("not set"))
|
||||
<< "\nparticipantId: " << (data.participantId().has_value() ? QString::number(data.participantId().get()) : QStringLiteral("not set"))
|
||||
<< "\n";
|
||||
|
||||
m_ngsHandler->ngsConnector()->guezMineField(data);
|
||||
@@ -420,10 +420,10 @@ void AesHandler::onAesMineCorridorChanged(const MineCorridor &data, DataModifica
|
||||
<< "\nsampleTime: " << data.sampleTime()
|
||||
<< "\nchargeTypeId: " << data.chargeStruct().chargeTypeId()
|
||||
<< "\neffectDuration: " << data.effectDuration()
|
||||
<< "\neffectStart: " << (data.effectStart().is_set() ? QString::number(data.effectStart().get()) : QStringLiteral("not set"))
|
||||
<< "\neffectStart: " << (data.effectStart().has_value() ? QString::number(data.effectStart().get()) : QStringLiteral("not set"))
|
||||
<< "\neffectStateId: " << toString(data.effectStateId())
|
||||
<< "\npartyId: " << (data.partyId().is_set() ? QString::number(data.partyId().get()) : QStringLiteral("not set"))
|
||||
<< "\nparticipantId: " << (data.participantId().is_set() ? QString::number(data.participantId().get()) : QStringLiteral("not set"))
|
||||
<< "\npartyId: " << (data.partyId().has_value() ? QString::number(data.partyId().get()) : QStringLiteral("not set"))
|
||||
<< "\nparticipantId: " << (data.participantId().has_value() ? QString::number(data.participantId().get()) : QStringLiteral("not set"))
|
||||
<< "\n";
|
||||
|
||||
m_ngsHandler->ngsConnector()->guezMineFieldBreach(data);
|
||||
@@ -445,10 +445,10 @@ void AesHandler::onAesNContaminationChanged(const NContamination &data, DataModi
|
||||
<< "\nsampleTime: " << data.sampleTime()
|
||||
<< "\nchargeTypeId: " << data.chargeStruct().chargeTypeId()
|
||||
<< "\neffectDuration: " << data.effectDuration()
|
||||
<< "\neffectStart: " << (data.effectStart().is_set() ? QString::number(data.effectStart().get()) : QStringLiteral("not set"))
|
||||
<< "\neffectStart: " << (data.effectStart().has_value() ? QString::number(data.effectStart().get()) : QStringLiteral("not set"))
|
||||
<< "\neffectStateId: " << toString(data.effectStateId())
|
||||
<< "\npartyId: " << (data.partyId().is_set() ? QString::number(data.partyId().get()) : QStringLiteral("not set"))
|
||||
<< "\nparticipantId: " << (data.participantId().is_set() ? QString::number(data.participantId().get()) : QStringLiteral("not set"))
|
||||
<< "\npartyId: " << (data.partyId().has_value() ? QString::number(data.partyId().get()) : QStringLiteral("not set"))
|
||||
<< "\nparticipantId: " << (data.participantId().has_value() ? QString::number(data.participantId().get()) : QStringLiteral("not set"))
|
||||
<< "\n";
|
||||
|
||||
}
|
||||
@@ -468,10 +468,10 @@ void AesHandler::onAesBCContaminationChanged(const BCContamination &data, DataMo
|
||||
<< "\nsampleTime: " << data.sampleTime()
|
||||
<< "\nchargeTypeId: " << data.chargeStruct().chargeTypeId()
|
||||
<< "\neffectDuration: " << data.effectDuration()
|
||||
<< "\neffectStart: " << (data.effectStart().is_set() ? QString::number(data.effectStart().get()) : QStringLiteral("not set"))
|
||||
<< "\neffectStart: " << (data.effectStart().has_value() ? QString::number(data.effectStart().get()) : QStringLiteral("not set"))
|
||||
<< "\neffectStateId: " << toString(data.effectStateId())
|
||||
<< "\npartyId: " << (data.partyId().is_set() ? QString::number(data.partyId().get()) : QStringLiteral("not set"))
|
||||
<< "\nparticipantId: " << (data.participantId().is_set() ? QString::number(data.participantId().get()) : QStringLiteral("not set"))
|
||||
<< "\npartyId: " << (data.partyId().has_value() ? QString::number(data.partyId().get()) : QStringLiteral("not set"))
|
||||
<< "\nparticipantId: " << (data.participantId().has_value() ? QString::number(data.participantId().get()) : QStringLiteral("not set"))
|
||||
<< "\n";
|
||||
|
||||
}
|
||||
@@ -491,7 +491,7 @@ void AesHandler::onAesNameChanged(qint64 identifierInt, const std::string &newNa
|
||||
int aesItemId = 0;
|
||||
AesType type = m_dtcAes->aesItemIdFromExternalId(identifierInt, aesItemId);
|
||||
|
||||
switch (type.underlying())
|
||||
switch (type)
|
||||
{
|
||||
case AreaEffectSimulation::AesType::AtBCContamination:
|
||||
break;
|
||||
@@ -565,7 +565,7 @@ void AesHandler::onAesRemoveItem(qint64 identifierInt)
|
||||
|
||||
DEBUG_LOG(m_logger) << "Remove Item for " << aesItemId << " requested. Type: " << type;
|
||||
|
||||
switch (type.underlying())
|
||||
switch (type)
|
||||
{
|
||||
case AreaEffectSimulation::AesType::AtBCContamination:
|
||||
break;
|
||||
@@ -627,7 +627,7 @@ void AesHandler::onAesActivationTimeChanged(qint64 identifierInt, qint64 msecsSi
|
||||
if (msecsSinceEpoch < earliest && msecsSinceEpoch > 0)
|
||||
msecsSinceEpoch = earliest;
|
||||
|
||||
switch (type.underlying())
|
||||
switch (type)
|
||||
{
|
||||
case AreaEffectSimulation::AesType::AtBCContamination:
|
||||
break;
|
||||
@@ -637,7 +637,7 @@ void AesHandler::onAesActivationTimeChanged(qint64 identifierInt, qint64 msecsSi
|
||||
if (!req)
|
||||
{
|
||||
AreaEffectSimulation::MineCorridor item = m_dtcAes->mineCorridor(aesItemId);
|
||||
if ((item.effectStart().is_set() && item.effectStart().get() == msecsSinceEpoch) || !isModifiable(item))
|
||||
if ((item.effectStart().has_value() && item.effectStart().get() == msecsSinceEpoch) || !isModifiable(item))
|
||||
return;
|
||||
req = makeMinefieldBreachRequest(item);
|
||||
addRequestToQueue(aesItemId, req);
|
||||
@@ -653,7 +653,7 @@ void AesHandler::onAesActivationTimeChanged(qint64 identifierInt, qint64 msecsSi
|
||||
{
|
||||
DEBUG_LOG(m_logger) << "onAesActivationTimeChanged / MineArea - Request NOT found";
|
||||
AreaEffectSimulation::MineArea item = m_dtcAes->mineArea(aesItemId);
|
||||
if ((item.effectStart().is_set() && item.effectStart().get() == msecsSinceEpoch) || !isModifiable(item))
|
||||
if ((item.effectStart().has_value() && item.effectStart().get() == msecsSinceEpoch) || !isModifiable(item))
|
||||
return;
|
||||
req = makeMinefieldRequest(item);
|
||||
addRequestToQueue(aesItemId, req);
|
||||
@@ -699,7 +699,7 @@ void AesHandler::onAesForceIdentifierChanged(qint64 identifierInt, int partyId)
|
||||
int aesItemId = 0;
|
||||
AesType type = m_dtcAes->aesItemIdFromExternalId(identifierInt, aesItemId);
|
||||
|
||||
switch (type.underlying())
|
||||
switch (type)
|
||||
{
|
||||
case AreaEffectSimulation::AesType::AtBCContamination:
|
||||
break;
|
||||
@@ -782,7 +782,7 @@ void AesHandler::onAesDurationChanged(qint64 identifierInt, quint32 u_time)
|
||||
int aesItemId = 0;
|
||||
AesType type = m_dtcAes->aesItemIdFromExternalId(identifierInt, aesItemId);
|
||||
|
||||
switch (type.underlying())
|
||||
switch (type)
|
||||
{
|
||||
case AreaEffectSimulation::AesType::AtBCContamination:
|
||||
break;
|
||||
@@ -854,7 +854,7 @@ void AesHandler::onAesChargeChanged(qint64 identifierInt, int chargeTypeId)
|
||||
int aesItemId = 0;
|
||||
AesType type = m_dtcAes->aesItemIdFromExternalId(identifierInt, aesItemId);
|
||||
|
||||
switch (type.underlying())
|
||||
switch (type)
|
||||
{
|
||||
case AreaEffectSimulation::AesType::AtBCContamination:
|
||||
break;
|
||||
@@ -960,7 +960,7 @@ void AesHandler::onAesPointsDataChanged(qint64 identifierInt, const std::vector<
|
||||
|
||||
DEBUG_LOG(m_logger) << "Points Data changed for Aes Item ID: " << aesItemId << ". Type: " << type;
|
||||
|
||||
switch (type.underlying())
|
||||
switch (type)
|
||||
{
|
||||
case AreaEffectSimulation::AesType::AtBCContamination:
|
||||
break;
|
||||
@@ -1061,7 +1061,7 @@ void AesHandler::onSendRequest(const MineAreaModifyRequest &item)
|
||||
|
||||
bool AesHandler::onNewMinefieldBreach(const MineCorridorModifyRequest &mc)
|
||||
{
|
||||
if (!mc.externalId().is_set())
|
||||
if (!mc.externalId().has_value())
|
||||
return false;
|
||||
|
||||
return m_requestHelper->startSingleRequest([this, mc]()
|
||||
@@ -1077,7 +1077,7 @@ void AesHandler::onSendRequest(const MineCorridorModifyRequest &item)
|
||||
|
||||
void AesHandler::onMunitionDetonation(const ExplosionSingleModifyRequest &es)
|
||||
{
|
||||
if (!es.externalId().is_set())
|
||||
if (!es.externalId().has_value())
|
||||
return;
|
||||
|
||||
m_requestHelper->startSingleRequest([this, es]()
|
||||
@@ -1089,7 +1089,7 @@ void AesHandler::onMunitionDetonation(const ExplosionSingleModifyRequest &es)
|
||||
#ifdef SUPPORT_EXPLOSION_CLUSTER_SINGLE_EFFECT
|
||||
void AesHandler::onMunitionDetonationExplosionClusterSingleEffect(const ExplosionClusterSingleEffectOnlyRequest &es)
|
||||
{
|
||||
if (!es.externalId().is_set())
|
||||
if (!es.externalId().has_value())
|
||||
return;
|
||||
|
||||
m_requestHelper->startSingleRequest([this, es]()
|
||||
|
||||
+14
-14
@@ -215,35 +215,35 @@ ProjectDataManagement::VulnerabilityState DamageModel::vulnerabilityState(qint64
|
||||
{
|
||||
int idx = indexForTime(simTimeMSec);
|
||||
if (idx < 0)
|
||||
return ProjectDataManagement::VulnerabilityState::CombatReady;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_CombatReady;
|
||||
switch (m_tacticalStates.at(idx).tss.TacticalStatus)
|
||||
{
|
||||
case rpr2::TacticalStatusEnum8::CombatReady:
|
||||
return ProjectDataManagement::VulnerabilityState::CombatReady;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_CombatReady;
|
||||
case rpr2::TacticalStatusEnum8::LightHit:
|
||||
return ProjectDataManagement::VulnerabilityState::LightDamage;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_LightDamage;
|
||||
case rpr2::TacticalStatusEnum8::MediumHit:
|
||||
return ProjectDataManagement::VulnerabilityState::MediumDamage;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_MediumDamage;
|
||||
case rpr2::TacticalStatusEnum8::HeavyHit:
|
||||
return ProjectDataManagement::VulnerabilityState::HeavyDamage;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_HeavyDamage;
|
||||
case rpr2::TacticalStatusEnum8::Immobilized:
|
||||
return ProjectDataManagement::VulnerabilityState::MobilityKill;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_MobilityKill;
|
||||
case rpr2::TacticalStatusEnum8::ImmobilizedVisible:
|
||||
return ProjectDataManagement::VulnerabilityState::VisibleMobilityKill;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_VisibleMobilityKill;
|
||||
case rpr2::TacticalStatusEnum8::WeaponKill:
|
||||
return ProjectDataManagement::VulnerabilityState::WeaponSystemDamage;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_WeaponSystemDamage;
|
||||
case rpr2::TacticalStatusEnum8::WeaponKillVisible:
|
||||
return ProjectDataManagement::VulnerabilityState::VisibleWeaponSystemDamage;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_VisibleWeaponSystemDamage;
|
||||
case rpr2::TacticalStatusEnum8::TotalKill:
|
||||
return ProjectDataManagement::VulnerabilityState::CatastrophicKill;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_CatastrophicKill;
|
||||
case rpr2::TacticalStatusEnum8::TemporaryFailure:
|
||||
return ProjectDataManagement::VulnerabilityState::TemporarySeverance;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_TemporarySeverance;
|
||||
case rpr2::TacticalStatusEnum8::NearMiss:
|
||||
return ProjectDataManagement::VulnerabilityState::NearMiss;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_NearMiss;
|
||||
case rpr2::TacticalStatusEnum8::HitWithoutEffect:
|
||||
return ProjectDataManagement::VulnerabilityState::HitWithNoEffect;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_HitWithNoEffect;
|
||||
}
|
||||
return ProjectDataManagement::VulnerabilityState::CombatReady;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_CombatReady;
|
||||
}
|
||||
|
||||
int DamageModel::indexForTime(qint64 simTimeMSec) const
|
||||
|
||||
+80
-79
@@ -3,6 +3,7 @@
|
||||
|
||||
|
||||
#include "ngs_connector.h"
|
||||
#include <NGLLogger/NGLLoggerBootstrap.h>
|
||||
#include <utility>
|
||||
#include "ngs_handler.h"
|
||||
#include "ppm_handler.h"
|
||||
@@ -693,7 +694,7 @@ bool NgsConnector::guezMineField(const AreaEffectSimulation::MineArea &data)
|
||||
<< ", number of segments reduced, removing earlier published segment";
|
||||
}
|
||||
|
||||
rpr2::ForceIdentifierEnum8::ET forceId = data.partyId().is_set() ? m_ngsHandler->ppmHandler()->forceIdentifierFromPartyId(data.partyId().get()) : rpr2::ForceIdentifierEnum8::Other;
|
||||
rpr2::ForceIdentifierEnum8::ET forceId = data.partyId().has_value() ? m_ngsHandler->ppmHandler()->forceIdentifierFromPartyId(data.partyId().get()) : rpr2::ForceIdentifierEnum8::Other;
|
||||
|
||||
m_environmentObjects.remove(data.id());
|
||||
for (int i = 0; i < minefields.size(); ++i)
|
||||
@@ -704,10 +705,10 @@ bool NgsConnector::guezMineField(const AreaEffectSimulation::MineArea &data)
|
||||
|
||||
const AreaEffectSimulation::MineSegment &segment = data.segments()[i];
|
||||
|
||||
icb->setActivationTime(getClockTimeStruct(data.effectStart().is_set() ? data.effectStart().get() : 0));
|
||||
icb->setDeactivated(data.effectStateId().underlying() != AreaEffectSimulation::AesEffectState::EsActivated);
|
||||
if (data.effectStateId().underlying() == AreaEffectSimulation::AesEffectState::EsExpired ||
|
||||
data.effectStateId().underlying() == AreaEffectSimulation::AesEffectState::EsRemoved)
|
||||
icb->setActivationTime(getClockTimeStruct(data.effectStart().has_value() ? data.effectStart().get() : 0));
|
||||
icb->setDeactivated(data.effectStateId() != AreaEffectSimulation::AesEffectState::EsActivated);
|
||||
if (data.effectStateId() == AreaEffectSimulation::AesEffectState::EsExpired ||
|
||||
data.effectStateId() == AreaEffectSimulation::AesEffectState::EsRemoved)
|
||||
icb->setPercentComplete(100);
|
||||
else
|
||||
icb->setPercentComplete(0);
|
||||
@@ -796,12 +797,12 @@ bool NgsConnector::guezMineFieldBreach(const AreaEffectSimulation::MineCorridor
|
||||
rpr2::IPlayerGuezMineFieldBreachObjInstance *icb = map.value(i);
|
||||
if (!icb)
|
||||
continue;
|
||||
icb->setActivationTime(getClockTimeStruct(data.effectStart().is_set() ? data.effectStart().get() : 0));
|
||||
icb->setActivationTime(getClockTimeStruct(data.effectStart().has_value() ? data.effectStart().get() : 0));
|
||||
icb->setAreaEffectSimulationName(rpr2::OMT13string(data.name()));
|
||||
icb->setPointsData(positionArray(mineCorridorSegment(data.segments().at(i), data.segments().at(i + 1), data.width())));
|
||||
icb->setDeactivated(data.effectStateId().underlying() != AreaEffectSimulation::AesEffectState::EsActivated);
|
||||
if (data.effectStateId().underlying() == AreaEffectSimulation::AesEffectState::EsExpired ||
|
||||
data.effectStateId().underlying() == AreaEffectSimulation::AesEffectState::EsRemoved)
|
||||
icb->setDeactivated(data.effectStateId() != AreaEffectSimulation::AesEffectState::EsActivated);
|
||||
if (data.effectStateId() == AreaEffectSimulation::AesEffectState::EsExpired ||
|
||||
data.effectStateId() == AreaEffectSimulation::AesEffectState::EsRemoved)
|
||||
icb->setPercentComplete(100);
|
||||
else
|
||||
icb->setPercentComplete(0);
|
||||
@@ -853,7 +854,7 @@ bool NgsConnector::guezNuclearAgent(const AreaEffectSimulation::NContamination &
|
||||
|
||||
is.setEntityNumber(10 * data.id());
|
||||
icb->setObjectIdentifier(is.toEIS());
|
||||
icb->setActivationTime(getClockTimeStruct(data.effectStart().is_set() ? data.effectStart().get() : 0));
|
||||
icb->setActivationTime(getClockTimeStruct(data.effectStart().has_value() ? data.effectStart().get() : 0));
|
||||
icb->setAreaEffectSimulationName(rpr2::OMT13string(data.name()));
|
||||
icb->setDuration(data.effectDuration());
|
||||
icb->setDetonationLocation(pos.toWorldLocation());
|
||||
@@ -922,20 +923,20 @@ bool NgsConnector::guezChemicalAgent(const AreaEffectSimulation::BCContamination
|
||||
}
|
||||
is.setEntityNumber(10 * data.id());
|
||||
icb->setObjectIdentifier(is.toEIS());
|
||||
icb->setDeactivated(data.effectStateId().underlying() != AreaEffectSimulation::AesEffectState::EsActivated);
|
||||
icb->setActivationTime(getClockTimeStruct(data.effectStart().is_set() ? data.effectStart().get() : 0));
|
||||
icb->setDeactivated(data.effectStateId() != AreaEffectSimulation::AesEffectState::EsActivated);
|
||||
icb->setActivationTime(getClockTimeStruct(data.effectStart().has_value() ? data.effectStart().get() : 0));
|
||||
icb->setAreaEffectSimulationName(rpr2::OMT13string(data.name()));
|
||||
icb->setDuration(data.effectDuration() / 1000 / 60);
|
||||
icb->setDetonationLocation(pos.toWorldLocation());
|
||||
if (data.effectStateId().underlying() == AreaEffectSimulation::AesEffectState::EsExpired ||
|
||||
data.effectStateId().underlying() == AreaEffectSimulation::AesEffectState::EsRemoved)
|
||||
if (data.effectStateId() == AreaEffectSimulation::AesEffectState::EsExpired ||
|
||||
data.effectStateId() == AreaEffectSimulation::AesEffectState::EsRemoved)
|
||||
icb->setPercentComplete(100);
|
||||
else
|
||||
icb->setPercentComplete(0);
|
||||
|
||||
icb->setChemicalAgentType(type);
|
||||
icb->setRadius(data.impactRadius());
|
||||
rpr2::ForceIdentifierEnum8::ET forceId = data.partyId().is_set() ? m_ngsHandler->ppmHandler()->forceIdentifierFromPartyId(data.partyId().get()) : rpr2::ForceIdentifierEnum8::Other;
|
||||
rpr2::ForceIdentifierEnum8::ET forceId = data.partyId().has_value() ? m_ngsHandler->ppmHandler()->forceIdentifierFromPartyId(data.partyId().get()) : rpr2::ForceIdentifierEnum8::Other;
|
||||
icb->setForceIdentifier(forceId);
|
||||
icb->setIsPermanentAgent(type != rpr2::ChemicalAgentTypeEnum8::Sarin);
|
||||
icb->setObjectType(dummyEOS());
|
||||
@@ -1575,35 +1576,35 @@ rpr2::ArrayOfHLAoctetN_slsh_AperfectalwaysN_slsh_ADynamicHLApaddingTo32Array Ngs
|
||||
|
||||
rpr2::HitResultEnum16::ET NgsConnector::getHitResultEnum(const ProjectDataManagement::VulnerabilityState &ts)
|
||||
{
|
||||
switch (ts.underlying())
|
||||
switch (ts)
|
||||
{
|
||||
case ProjectDataManagement::VulnerabilityState::CombatReady:
|
||||
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_CombatReady:
|
||||
return rpr2::HitResultEnum16::Reset;
|
||||
case ProjectDataManagement::VulnerabilityState::LightDamage:
|
||||
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_LightDamage:
|
||||
return rpr2::HitResultEnum16::LightDamage;
|
||||
case ProjectDataManagement::VulnerabilityState::MediumDamage:
|
||||
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_MediumDamage:
|
||||
return rpr2::HitResultEnum16::MediumDamage;
|
||||
case ProjectDataManagement::VulnerabilityState::HeavyDamage:
|
||||
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_HeavyDamage:
|
||||
return rpr2::HitResultEnum16::HeavyDamage;
|
||||
case ProjectDataManagement::VulnerabilityState::MobilityKill:
|
||||
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_MobilityKill:
|
||||
return rpr2::HitResultEnum16::MobilityKill;
|
||||
case ProjectDataManagement::VulnerabilityState::VisibleMobilityKill:
|
||||
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_VisibleMobilityKill:
|
||||
return rpr2::HitResultEnum16::MobilityKillVisible;
|
||||
case ProjectDataManagement::VulnerabilityState::WeaponSystemDamage:
|
||||
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_WeaponSystemDamage:
|
||||
return rpr2::HitResultEnum16::WeaponDamage;
|
||||
case ProjectDataManagement::VulnerabilityState::VisibleWeaponSystemDamage:
|
||||
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_VisibleWeaponSystemDamage:
|
||||
return rpr2::HitResultEnum16::WeaponDamageVisible;
|
||||
case ProjectDataManagement::VulnerabilityState::CatastrophicKill:
|
||||
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_CatastrophicKill:
|
||||
return rpr2::HitResultEnum16::TotalKill;
|
||||
case ProjectDataManagement::VulnerabilityState::TemporarySeverance:
|
||||
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_TemporarySeverance:
|
||||
return rpr2::HitResultEnum16::TemporaryFailure;
|
||||
case ProjectDataManagement::VulnerabilityState::NearMiss:
|
||||
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_NearMiss:
|
||||
return rpr2::HitResultEnum16::NearMiss;
|
||||
case ProjectDataManagement::VulnerabilityState::HitWithNoEffect:
|
||||
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_HitWithNoEffect:
|
||||
return rpr2::HitResultEnum16::HitWithNoEffect;
|
||||
case ProjectDataManagement::VulnerabilityState::NContamination:
|
||||
case ProjectDataManagement::VulnerabilityState::BContamination:
|
||||
case ProjectDataManagement::VulnerabilityState::CContamination:
|
||||
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_NContamination:
|
||||
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_BContamination:
|
||||
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_CContamination:
|
||||
return rpr2::HitResultEnum16::Contaminated;
|
||||
default:
|
||||
return rpr2::HitResultEnum16::Reset;
|
||||
@@ -1616,37 +1617,37 @@ ProjectDataManagement::VulnerabilityState NgsConnector::getTacticalStatusEnum(co
|
||||
switch (hr)
|
||||
{
|
||||
case rpr2::HitResultEnum16::Reset:
|
||||
return ProjectDataManagement::VulnerabilityState::CombatReady;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_CombatReady;
|
||||
case rpr2::HitResultEnum16::LightDamage:
|
||||
return ProjectDataManagement::VulnerabilityState::LightDamage;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_LightDamage;
|
||||
case rpr2::HitResultEnum16::MediumDamage:
|
||||
return ProjectDataManagement::VulnerabilityState::MediumDamage;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_MediumDamage;
|
||||
case rpr2::HitResultEnum16::HeavyDamage:
|
||||
return ProjectDataManagement::VulnerabilityState::HeavyDamage;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_HeavyDamage;
|
||||
case rpr2::HitResultEnum16::MobilityKill:
|
||||
return ProjectDataManagement::VulnerabilityState::MobilityKill;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_MobilityKill;
|
||||
case rpr2::HitResultEnum16::MobilityKillVisible:
|
||||
return ProjectDataManagement::VulnerabilityState::VisibleMobilityKill;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_VisibleMobilityKill;
|
||||
case rpr2::HitResultEnum16::WeaponDamage:
|
||||
return ProjectDataManagement::VulnerabilityState::WeaponSystemDamage;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_WeaponSystemDamage;
|
||||
case rpr2::HitResultEnum16::WeaponDamageVisible:
|
||||
return ProjectDataManagement::VulnerabilityState::VisibleWeaponSystemDamage;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_VisibleWeaponSystemDamage;
|
||||
case rpr2::HitResultEnum16::TotalKill:
|
||||
return ProjectDataManagement::VulnerabilityState::CatastrophicKill;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_CatastrophicKill;
|
||||
case rpr2::HitResultEnum16::CheatingKill:
|
||||
return ProjectDataManagement::VulnerabilityState::CatastrophicKill;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_CatastrophicKill;
|
||||
case rpr2::HitResultEnum16::NearMiss:
|
||||
return ProjectDataManagement::VulnerabilityState::NearMiss;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_NearMiss;
|
||||
case rpr2::HitResultEnum16::HitWithNoEffect:
|
||||
return ProjectDataManagement::VulnerabilityState::HitWithNoEffect;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_HitWithNoEffect;
|
||||
case rpr2::HitResultEnum16::Contaminated:
|
||||
return ProjectDataManagement::VulnerabilityState::CContamination;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_CContamination;
|
||||
case rpr2::HitResultEnum16::TemporaryFailure:
|
||||
return ProjectDataManagement::VulnerabilityState::TemporarySeverance;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_TemporarySeverance;
|
||||
default:
|
||||
return ProjectDataManagement::VulnerabilityState::NoChange;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_NoChange;
|
||||
}
|
||||
return ProjectDataManagement::VulnerabilityState::NoChange;
|
||||
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_NoChange;
|
||||
}
|
||||
|
||||
QPolygonF NgsConnector::utmToGeogrphic(const QPolygonF &polyUtm, const LtsCoordTrans::UtmCoordinate &base)
|
||||
@@ -1681,10 +1682,10 @@ void NgsConnector::onEntityIdentifierChanged(const rpr2::EntityIdentifierStruct
|
||||
|
||||
|
||||
GuezHitStruct hs;
|
||||
hs.originatorType = ProjectDataManagement::StateChangeOriginator::Initialization;
|
||||
hs.originatorType = ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Initialization;
|
||||
hs.sampleTime = QDateTime::currentDateTimeUtc().toMSecsSinceEpoch();
|
||||
hs.targetId = is.entityNumber();
|
||||
hs.vulnerabilityState = ProjectDataManagement::VulnerabilityState::VulnerabilityBitsChanged;
|
||||
hs.vulnerabilityState = ProjectDataManagement::VulnerabilityState::VulnerabilityState_VulnerabilityBitsChanged;
|
||||
|
||||
QTimer::singleShot(STATUS_WAIT_INTERVAL, this, [this, hs, obj]() mutable
|
||||
{
|
||||
@@ -2083,11 +2084,11 @@ bool NgsConnector::onTacticalStatusChanged(const rpr2::EntityIdentifierStruct &e
|
||||
GuezHitStruct hitStruct;
|
||||
hitStruct.originatorChargeTypeEtsString = TypeStruct::fromDisInt(0).toString();
|
||||
hitStruct.originatorId = 0;
|
||||
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::Unknown;
|
||||
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Unknown;
|
||||
hitStruct.position = m_observerPositions[is.entityNumber()].toGeoPosition();
|
||||
hitStruct.sampleTime = simTimeMSecs;
|
||||
hitStruct.targetId = is.entityNumber();
|
||||
hitStruct.vulnerabilityState = ProjectDataManagement::VulnerabilityState::VulnerabilityBitsChanged;
|
||||
hitStruct.vulnerabilityState = ProjectDataManagement::VulnerabilityState::VulnerabilityState_VulnerabilityBitsChanged;
|
||||
hitStruct.vulnerabilityKind = 0;
|
||||
|
||||
const auto vulnerabilityBits = m_damageModelMap[is.entityNumber()]->totalState(hitStruct.sampleTime);
|
||||
@@ -2423,31 +2424,31 @@ void NgsConnector::onNewGuezHit(const rpr2::IObserverGuezHitIntInstance &interac
|
||||
GuezHitStruct hitStruct;
|
||||
hitStruct.originatorChargeTypeEtsString = TypeStruct(interaction.getMunition()).toString();
|
||||
hitStruct.originatorId = interaction.getOriginatorIdentifier().EntityNumber;
|
||||
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::Unknown;
|
||||
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Unknown;
|
||||
switch (interaction.getOriginatorType())
|
||||
{
|
||||
case rpr2::OriginatorTypeEnum16::Unknown:
|
||||
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::Unknown;
|
||||
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Unknown;
|
||||
break;
|
||||
case rpr2::OriginatorTypeEnum16::NoMedicalTreatment:
|
||||
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::Participant;
|
||||
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Participant;
|
||||
if (hitStruct.originatorId == 0)
|
||||
hitStruct.originatorId = hitStruct.targetId;
|
||||
break;
|
||||
case rpr2::OriginatorTypeEnum16::Participant:
|
||||
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::Participant;
|
||||
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Participant;
|
||||
if (hitStruct.originatorId == 0)
|
||||
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::ExerciseControl;
|
||||
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_ExerciseControl;
|
||||
break;
|
||||
case rpr2::OriginatorTypeEnum16::AreaEffectSimulation:
|
||||
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::AreaEffectSimulation;
|
||||
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_AreaEffectSimulation;
|
||||
hitStruct.originatorId = IdentifierStruct(interaction.getOriginatorIdentifier()).toInt64();
|
||||
break;
|
||||
case rpr2::OriginatorTypeEnum16::ObserverController:
|
||||
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::ObserverController;
|
||||
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_ObserverController;
|
||||
break;
|
||||
case rpr2::OriginatorTypeEnum16::ExerciseControl:
|
||||
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::ExerciseControl;
|
||||
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_ExerciseControl;
|
||||
break;
|
||||
}
|
||||
hitStruct.position = ParticipantPosition(interaction.getTargetLocation()).toGeoPosition();
|
||||
@@ -2458,16 +2459,16 @@ void NgsConnector::onNewGuezHit(const rpr2::IObserverGuezHitIntInstance &interac
|
||||
hitStruct.vulnerabilityState = getTacticalStatusEnum(interaction.getHitResult());
|
||||
|
||||
|
||||
if ((hitStruct.originatorType == ProjectDataManagement::StateChangeOriginator::ExerciseControl ||
|
||||
hitStruct.originatorType == ProjectDataManagement::StateChangeOriginator::ObserverController
|
||||
if ((hitStruct.originatorType == ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_ExerciseControl ||
|
||||
hitStruct.originatorType == ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_ObserverController
|
||||
)
|
||||
&& hitStruct.vulnerabilityState == ProjectDataManagement::VulnerabilityState::HitWithNoEffect)
|
||||
&& hitStruct.vulnerabilityState == ProjectDataManagement::VulnerabilityState::VulnerabilityState_HitWithNoEffect)
|
||||
{
|
||||
auto ptr = m_damageModelMap.value(eqNo);
|
||||
if (ptr)
|
||||
{
|
||||
hitStruct.vulnerabilityState = ptr->vulnerabilityState(hitStruct.sampleTime);
|
||||
if (hitStruct.vulnerabilityState == ProjectDataManagement::VulnerabilityState::CombatReady)
|
||||
if (hitStruct.vulnerabilityState == ProjectDataManagement::VulnerabilityState::VulnerabilityState_CombatReady)
|
||||
ptr->setTacticalStatus(rpr2::HitResultEnum16::Reset, simTimeToMSec(interaction.getReceiveTimeStamp()));
|
||||
}
|
||||
}
|
||||
@@ -2642,7 +2643,7 @@ rpr2::EventIdentifierStruct NgsConnector::getEventIdentifierStruct()
|
||||
rpr2::TacticalStatusStruct NgsConnector::getTacticalStatusFromState(const ParticipantManagement::StateInformation &state)
|
||||
{
|
||||
rpr2::TacticalStatusStruct ts;
|
||||
ts.TacticalStatus = static_cast<rpr2::TacticalStatusEnum8::ET>(state.vulnerabilityState().underlying());
|
||||
ts.TacticalStatus = static_cast<rpr2::TacticalStatusEnum8::ET>(state.vulnerabilityState());
|
||||
ts.TotalStatus = static_cast<rpr2::TotalStatusEnum32::ET>(state.vulnerabilityBits());
|
||||
ts.VulnerabilityKind = state.vulnerabilityKindId();
|
||||
return ts;
|
||||
@@ -2712,9 +2713,9 @@ bool NgsConnector::setParticipantHit(int eqNo, const ParticipantManagement::Stat
|
||||
|
||||
rpr2::OriginatorTypeEnum16::ET originatorTypeRpr = rpr2::OriginatorTypeEnum16::Unknown;
|
||||
|
||||
switch (originatorType.underlying())
|
||||
switch (originatorType)
|
||||
{
|
||||
case ProjectDataManagement::StateChangeOriginator::AreaEffectSimulation:
|
||||
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_AreaEffectSimulation:
|
||||
{
|
||||
if (m_environmentObjects.contains(originatorEqNo))
|
||||
is = IdentifierStruct(10 * originatorEqNo);
|
||||
@@ -2734,14 +2735,14 @@ bool NgsConnector::setParticipantHit(int eqNo, const ParticipantManagement::Stat
|
||||
originatorTypeRpr = rpr2::OriginatorTypeEnum16::AreaEffectSimulation;
|
||||
break;
|
||||
}
|
||||
case ProjectDataManagement::StateChangeOriginator::ExerciseControl:
|
||||
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_ExerciseControl:
|
||||
originatorTypeRpr = rpr2::OriginatorTypeEnum16::ExerciseControl;
|
||||
break;
|
||||
case ProjectDataManagement::StateChangeOriginator::ObserverController:
|
||||
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_ObserverController:
|
||||
originatorTypeRpr = rpr2::OriginatorTypeEnum16::ObserverController;
|
||||
break;
|
||||
case ProjectDataManagement::StateChangeOriginator::Participant:
|
||||
if (originatorType == ProjectDataManagement::StateChangeOriginator::Participant)
|
||||
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Participant:
|
||||
if (originatorType == ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Participant)
|
||||
{
|
||||
if (m_playerMap.contains(originatorEqNo))
|
||||
is = IdentifierStruct(originatorEqNo);
|
||||
@@ -2756,16 +2757,16 @@ bool NgsConnector::setParticipantHit(int eqNo, const ParticipantManagement::Stat
|
||||
break;
|
||||
}
|
||||
Q_FALLTHROUGH();
|
||||
case ProjectDataManagement::StateChangeOriginator::Initialization:
|
||||
case ProjectDataManagement::StateChangeOriginator::FunctionalArea:
|
||||
case ProjectDataManagement::StateChangeOriginator::MaintainanceDevice:
|
||||
case ProjectDataManagement::StateChangeOriginator::Unknown:
|
||||
case ProjectDataManagement::StateChangeOriginator::WoundTreatmentDevice:
|
||||
case ProjectDataManagement::StateChangeOriginator::MedicalTimeout:
|
||||
case ProjectDataManagement::StateChangeOriginator::Sanitation:
|
||||
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Initialization:
|
||||
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_FunctionalArea:
|
||||
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_MaintainanceDevice:
|
||||
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Unknown:
|
||||
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_WoundTreatmentDevice:
|
||||
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_MedicalTimeout:
|
||||
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Sanitation:
|
||||
|
||||
case ProjectDataManagement::StateChangeOriginator::ImprovisedExplosiveDevice:
|
||||
case ProjectDataManagement::StateChangeOriginator::DusMine:
|
||||
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_ImprovisedExplosiveDevice:
|
||||
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_DusMine:
|
||||
originatorTypeRpr = rpr2::OriginatorTypeEnum16::Unknown;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
|
||||
#include "ngs_handler.h"
|
||||
#include <NGLLogger/NGLLoggerBootstrap.h>
|
||||
#include "ngs_connector.h"
|
||||
#include <Common/logger.h>
|
||||
#include <Common/settings.h>
|
||||
|
||||
+26
-26
@@ -154,7 +154,7 @@ int PpmHandler::getEquipmentNo(int participantId) const
|
||||
return 0;
|
||||
|
||||
const ParticipantManagement::Participant &p = m_partData[participantId];
|
||||
if (!p.equipmentNumber().is_set())
|
||||
if (!p.equipmentNumber().has_value())
|
||||
return 0;
|
||||
|
||||
return p.equipmentNumber().get();
|
||||
@@ -196,7 +196,7 @@ void PpmHandler::onDynamicParticipantDataChanged(const ParticipantManagement::Dy
|
||||
if (oldStateInfo != newStateInfo)
|
||||
{
|
||||
m_dynPartData[data.participantId()] = data;
|
||||
if (newStateInfo.originatorType() == ProjectDataManagement::StateChangeOriginator::AreaEffectSimulation)
|
||||
if (newStateInfo.originatorType() == ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_AreaEffectSimulation)
|
||||
{
|
||||
|
||||
conn->setParticipantHit(equipmentNo,
|
||||
@@ -206,7 +206,7 @@ void PpmHandler::onDynamicParticipantDataChanged(const ParticipantManagement::Dy
|
||||
newStateInfo.originatorType(),
|
||||
newStateInfo.originatorId());
|
||||
}
|
||||
else if (newStateInfo.originatorType() == ProjectDataManagement::StateChangeOriginator::Participant)
|
||||
else if (newStateInfo.originatorType() == ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Participant)
|
||||
{
|
||||
|
||||
conn->setParticipantHit(equipmentNo,
|
||||
@@ -282,18 +282,18 @@ void PpmHandler::onParticipantChanged(const ParticipantManagement::Participant &
|
||||
}
|
||||
|
||||
|
||||
int oldEqNo = m_partData[data.id()].equipmentNumber().is_set() ? m_partData[data.id()].equipmentNumber().get() : 0;
|
||||
int newEqNo = data.equipmentNumber().is_set() ? data.equipmentNumber().get() : 0;
|
||||
int oldEqNo = m_partData[data.id()].equipmentNumber().has_value() ? m_partData[data.id()].equipmentNumber().get() : 0;
|
||||
int newEqNo = data.equipmentNumber().has_value() ? data.equipmentNumber().get() : 0;
|
||||
if (oldEqNo != newEqNo)
|
||||
{
|
||||
removeParticipant(m_partData[data.id()]);
|
||||
createParticipant(data);
|
||||
}
|
||||
|
||||
if (m_partData[data.id()].designator() != data.designator() && data.equipmentNumber().is_set())
|
||||
if (m_partData[data.id()].designator() != data.designator() && data.equipmentNumber().has_value())
|
||||
m_ngsHandler->ngsConnector()->setParticipantName(data.equipmentNumber().get(), QString::fromStdString(data.designator()));
|
||||
|
||||
if (m_partData[data.id()].partyId() != data.partyId() && data.equipmentNumber().is_set())
|
||||
if (m_partData[data.id()].partyId() != data.partyId() && data.equipmentNumber().has_value())
|
||||
m_ngsHandler->ngsConnector()->setParticipantForce(data.equipmentNumber().get(), forceIdentifierFromPartyId(data.partyId()));
|
||||
|
||||
m_partData[data.id()] = data;
|
||||
@@ -309,7 +309,7 @@ void PpmHandler::onParticipantChanged(const ParticipantManagement::Participant &
|
||||
if (it == m_externalEquipmentNumbers.end())
|
||||
{
|
||||
|
||||
if (modType == DataModification::eRemoved || !data.equipmentNumber().is_set() || data.externalId() <= 0)
|
||||
if (modType == DataModification::eRemoved || !data.equipmentNumber().has_value() || data.externalId() <= 0)
|
||||
return;
|
||||
int equipNo = data.equipmentNumber().get();
|
||||
m_externalEquipmentNumbers.insert(data.id(), equipNo);
|
||||
@@ -319,7 +319,7 @@ void PpmHandler::onParticipantChanged(const ParticipantManagement::Participant &
|
||||
{
|
||||
|
||||
int oldEquipNo = it.value();
|
||||
if (modType == DataModification::eRemoved || !data.equipmentNumber().is_set() || data.externalId() <= 0)
|
||||
if (modType == DataModification::eRemoved || !data.equipmentNumber().has_value() || data.externalId() <= 0)
|
||||
{
|
||||
m_externalEquipmentNumbers.erase(it);
|
||||
emit externalEquipmentNumberRemoved(oldEquipNo);
|
||||
@@ -349,7 +349,7 @@ void PpmHandler::onParticipantPositionChanged(const ParticipantManagement::Parti
|
||||
if (eqNo == 0)
|
||||
return;
|
||||
ParticipantPosition pos(data.pos(), data.sampleTime());
|
||||
int mountedOnEqNo = data.mountedOn().is_set() ? getEquipmentNo(data.mountedOn().get()) : 0;
|
||||
int mountedOnEqNo = data.mountedOn().has_value() ? getEquipmentNo(data.mountedOn().get()) : 0;
|
||||
m_ngsHandler->ngsConnector()->setWorldLocation(eqNo, pos, mountedOnEqNo);
|
||||
}
|
||||
m_partPosData[data.participantId()] = data;
|
||||
@@ -381,8 +381,8 @@ void PpmHandler::onParticipantReceivedInit(int eqId, qint64 simTimeMSecs)
|
||||
init.equipmentNumber(eqId);
|
||||
init.sampleTime(simTimeMSecs);
|
||||
init.vulnerabilityBits(1);
|
||||
init.vulnerabilityState(ProjectDataManagement::VulnerabilityState::CombatReady);
|
||||
init.originatorType(ProjectDataManagement::StateChangeOriginator::ExerciseControl);
|
||||
init.vulnerabilityState(ProjectDataManagement::VulnerabilityState::VulnerabilityState_CombatReady);
|
||||
init.originatorType(ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_ExerciseControl);
|
||||
m_dtsTab->publish(init);
|
||||
}
|
||||
|
||||
@@ -474,7 +474,7 @@ void PpmHandler::participantBiteRequest(const TrainingAreaBase::TetraIcd::Demand
|
||||
void PpmHandler::createParticipant(const ParticipantManagement::Participant &participant)
|
||||
{
|
||||
|
||||
if (participant.externalId() > 0 || !participant.equipmentNumber().is_set() || participant.isDeleted() || participant.equipmentNumber().get() == 0)
|
||||
if (participant.externalId() > 0 || !participant.equipmentNumber().has_value() || participant.isDeleted() || participant.equipmentNumber().get() == 0)
|
||||
return;
|
||||
|
||||
if (!m_ngsHandler->ngsConnector()->canPublishData())
|
||||
@@ -488,7 +488,7 @@ void PpmHandler::createParticipant(const ParticipantManagement::Participant &par
|
||||
|
||||
const ParticipantManagement::Type partType = getParticipantType(participant.typeId());
|
||||
bool bCreated;
|
||||
switch (partType.typeClass().underlying())
|
||||
switch (partType.typeClass())
|
||||
{
|
||||
case ParticipantManagement::TypeClass::Human:
|
||||
bCreated = createHuman(participant);
|
||||
@@ -513,7 +513,7 @@ void PpmHandler::createParticipant(const ParticipantManagement::Participant &par
|
||||
|
||||
bool PpmHandler::removeParticipant(const ParticipantManagement::Participant &participant)
|
||||
{
|
||||
if (!participant.equipmentNumber().is_set() || participant.equipmentNumber().get() == 0)
|
||||
if (!participant.equipmentNumber().has_value() || participant.equipmentNumber().get() == 0)
|
||||
return false;
|
||||
|
||||
return m_ngsHandler->ngsConnector()->removeBaseEntity(participant.equipmentNumber().get());
|
||||
@@ -578,7 +578,7 @@ rpr2::TacticalStatusStruct PpmHandler::currentTacticalStatus(int participantId)
|
||||
if (sh.at(idxCurrent).stateTime() < sh.at(i).stateTime())
|
||||
idxCurrent = i;
|
||||
}
|
||||
ts.TacticalStatus = static_cast<rpr2::TacticalStatusEnum8::ET>(sh.at(idxCurrent).vulnerabilityState().underlying());
|
||||
ts.TacticalStatus = static_cast<rpr2::TacticalStatusEnum8::ET>(sh.at(idxCurrent).vulnerabilityState());
|
||||
ts.VulnerabilityKind = sh.at(idxCurrent).vulnerabilityKindId();
|
||||
ts.TotalStatus = static_cast<rpr2::TotalStatusEnum32::ET>(sh.at(idxCurrent).vulnerabilityBits());
|
||||
return ts;
|
||||
@@ -660,7 +660,7 @@ ProjectDataManagement::ChargeType PpmHandler::chargeTypeFromDisEntity(const std:
|
||||
rpr2::ForceIdentifierEnum8::ET PpmHandler::getRprForceIdentifierFromPpmForceIdentifier(const ParticipantManagement::HlaForceIdentifierEnum& ppmForceIdentifier) const
|
||||
{
|
||||
rpr2::ForceIdentifierEnum8::ET eqfi = rpr2::ForceIdentifierEnum8::Other;
|
||||
switch (ppmForceIdentifier.underlying()) {
|
||||
switch (ppmForceIdentifier) {
|
||||
case ParticipantManagement::HlaForceIdentifierEnum::Friendly_1:
|
||||
eqfi = rpr2::ForceIdentifierEnum8::Friendly;
|
||||
break;
|
||||
@@ -831,7 +831,7 @@ void PpmHandler::onParticipantHit(const GuezHitStruct &hitStruct)
|
||||
TrainingAreaBase::EquipmentState es;
|
||||
es.equipmentNumber(hitStruct.targetId);
|
||||
es.originatorChargeTypeId(ct.id());
|
||||
if (hitStruct.originatorType.underlying() == ProjectDataManagement::StateChangeOriginator::AreaEffectSimulation)
|
||||
if (hitStruct.originatorType == ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_AreaEffectSimulation)
|
||||
{
|
||||
int aesItemId = 0;
|
||||
if (m_dtcAes->aesItemIdFromExternalId(hitStruct.originatorId, aesItemId) == AreaEffectSimulation::AesType::AtUnknown)
|
||||
@@ -906,7 +906,7 @@ void PpmHandler::onIsPartOfChanged(int eqNo, int eqNoHost, qint64 simTimeMSecs)
|
||||
TrainingAreaBase::EquipmentPosition &newHost = m_observerPositions[eqNoHost];
|
||||
|
||||
|
||||
auto mountedParticipants = newHost.mountedParticipants().is_set() ? newHost.mountedParticipants().get() : std::vector<int32_t>();
|
||||
auto mountedParticipants = newHost.mountedParticipants().has_value() ? newHost.mountedParticipants().get() : std::vector<int32_t>();
|
||||
|
||||
mountedParticipants.push_back(eqNo);
|
||||
|
||||
@@ -925,7 +925,7 @@ void PpmHandler::onIsPartOfChanged(int eqNo, int eqNoHost, qint64 simTimeMSecs)
|
||||
TrainingAreaBase::EquipmentPosition &oldHost = m_observerPositions[eqNoOldHost];
|
||||
|
||||
|
||||
if (!oldHost.mountedParticipants().is_set())
|
||||
if (!oldHost.mountedParticipants().has_value())
|
||||
return;
|
||||
|
||||
|
||||
@@ -968,16 +968,16 @@ bool PpmHandler::onExconInit(int eqNo, rpr2::ResetPlayerEnum8::ET rp, rpr2::Acti
|
||||
bool bNoChange = false;
|
||||
switch (aho) {
|
||||
case rpr2::ActivateHelmetObservationEnum8::WithoutHelmetWithoutVest:
|
||||
helmet = ProjectDataManagement::WphMode::Without;
|
||||
vest = ProjectDataManagement::WphMode::Without;
|
||||
helmet = ProjectDataManagement::WphMode::WphMode_Without;
|
||||
vest = ProjectDataManagement::WphMode::WphMode_Without;
|
||||
break;
|
||||
case rpr2::ActivateHelmetObservationEnum8::HelmetWithoutVest:
|
||||
helmet = ProjectDataManagement::WphMode::With;
|
||||
vest = ProjectDataManagement::WphMode::Without;
|
||||
helmet = ProjectDataManagement::WphMode::WphMode_With;
|
||||
vest = ProjectDataManagement::WphMode::WphMode_Without;
|
||||
break;
|
||||
case rpr2::ActivateHelmetObservationEnum8::HelmetAndVest:
|
||||
helmet = ProjectDataManagement::WphMode::With;
|
||||
vest = ProjectDataManagement::WphMode::With;
|
||||
helmet = ProjectDataManagement::WphMode::WphMode_With;
|
||||
vest = ProjectDataManagement::WphMode::WphMode_With;
|
||||
break;
|
||||
case rpr2::ActivateHelmetObservationEnum8::NoChange:
|
||||
helmet = ProjectDataManagement::WphMode::NoChange;
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include <QtCore/QSet>
|
||||
|
||||
#include <ParticipantManagement/ppm.hpp>
|
||||
#include <ParticipantManagement/ppm_dtc.h>
|
||||
#include <ParticipantManagement/ppm_ftc.h>
|
||||
#include <ProjectDataManagement/pdm_dtc.h>
|
||||
#include <AreaEffectSimulation/aes_dtc.h>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
|
||||
|
||||
#include "web_socket_handler.h"
|
||||
#include <NGLLogger/NGLLoggerBootstrap.h>
|
||||
#include <utility>
|
||||
|
||||
#include "main_handler.h"
|
||||
|
||||
Reference in new issue
Block a user