mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-06 10:15:38 +08:00
feat: add native msfs2024 support
This commit is contained in:
@@ -18,11 +18,11 @@ if(SWIFT_BUILD_XPLANE_PLUGIN)
|
||||
add_subdirectory(xplaneconfig)
|
||||
endif()
|
||||
|
||||
if(SWIFT_BUILD_FS9_PLUGIN OR SWIFT_BUILD_FSX_PLUGIN OR SWIFT_BUILD_P3D_PLUGIN OR SWIFT_BUILD_MSFS_PLUGIN)
|
||||
if(SWIFT_BUILD_FS9_PLUGIN OR SWIFT_BUILD_FSX_PLUGIN OR SWIFT_BUILD_P3D_PLUGIN OR SWIFT_BUILD_MSFS_PLUGIN OR SWIFT_BUILD_MSFS2024_PLUGIN)
|
||||
add_subdirectory(fscommon)
|
||||
endif()
|
||||
|
||||
if(SWIFT_BUILD_FSX_PLUGIN OR SWIFT_BUILD_P3D_PLUGIN OR SWIFT_BUILD_MSFS_PLUGIN)
|
||||
if(SWIFT_BUILD_FSX_PLUGIN OR SWIFT_BUILD_P3D_PLUGIN OR SWIFT_BUILD_MSFS_PLUGIN OR SWIFT_BUILD_MSFS2024_PLUGIN)
|
||||
add_subdirectory(fsxcommon)
|
||||
endif()
|
||||
|
||||
@@ -37,7 +37,10 @@ endif()
|
||||
|
||||
if(SWIFT_BUILD_MSFS_PLUGIN)
|
||||
add_subdirectory(msfs)
|
||||
add_subdirectory(msfsconfig)
|
||||
endif()
|
||||
|
||||
if(SWIFT_BUILD_MSFS2024_PLUGIN)
|
||||
add_subdirectory(msfs2024)
|
||||
endif()
|
||||
|
||||
if(SWIFT_BUILD_FSX_PLUGIN)
|
||||
|
||||
@@ -84,6 +84,7 @@ namespace swift::simplugin::fsxcommon
|
||||
hr += initSimulatorEnvironment(hSimConnect);
|
||||
hr += initSbDataArea(hSimConnect);
|
||||
if (simInfo.isMSFS()) { hr += initMSFSTransponder(hSimConnect); }
|
||||
if (simInfo.isMSFS2024()) { hr += initMSFS2024Transponder(hSimConnect); }
|
||||
return hr;
|
||||
}
|
||||
|
||||
@@ -424,6 +425,22 @@ namespace swift::simplugin::fsxcommon
|
||||
return hr;
|
||||
}
|
||||
|
||||
HRESULT CSimConnectDefinitions::initMSFS2024Transponder(const HANDLE hSimConnect)
|
||||
{
|
||||
HRESULT hr = s_ok();
|
||||
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataTransponderModeMSFS,
|
||||
"TRANSPONDER STATE:1", "Enum");
|
||||
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataTransponderModeMSFS,
|
||||
"TRANSPONDER IDENT:1", "Bool");
|
||||
if (isFailure(hr))
|
||||
{
|
||||
CLogMessage(static_cast<CSimConnectDefinitions *>(nullptr))
|
||||
.error(u"SimConnect error: MSFS2024 transponder data definitions %1")
|
||||
<< hr;
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
|
||||
DataDefinitionRemoteAircraftPartsWithoutLights::DataDefinitionRemoteAircraftPartsWithoutLights()
|
||||
{
|
||||
this->resetToInvalid();
|
||||
|
||||
@@ -271,6 +271,7 @@ namespace swift::simplugin::fsxcommon
|
||||
ClientAreaSquawkBox
|
||||
};
|
||||
|
||||
// TODO TZ: are there any changes in MSFS2024
|
||||
//! Handles SimConnect data definitions
|
||||
class FSXCOMMON_EXPORT CSimConnectDefinitions
|
||||
{
|
||||
@@ -354,6 +355,9 @@ namespace swift::simplugin::fsxcommon
|
||||
|
||||
//! Initialize data definition for MSFS transponder
|
||||
static HRESULT initMSFSTransponder(const HANDLE hSimConnect);
|
||||
|
||||
//! Initialize data definition for MSFS transponder
|
||||
static HRESULT initMSFS2024Transponder(const HANDLE hSimConnect);
|
||||
};
|
||||
} // namespace swift::simplugin::fsxcommon
|
||||
|
||||
|
||||
@@ -351,6 +351,37 @@ bool loadAndResolveMSFSimConnect()
|
||||
}
|
||||
}
|
||||
|
||||
bool loadAndResolveMSFS2024SimConnect()
|
||||
{
|
||||
// Check if already loaded
|
||||
if (gSymbols.SimConnect_Open) { return true; }
|
||||
|
||||
QString simConnectFileName(QStringLiteral("SimConnect.MSFS2024"));
|
||||
|
||||
QLibrary simConnectDll(simConnectFileName);
|
||||
simConnectDll.setLoadHints(QLibrary::PreventUnloadHint);
|
||||
if (simConnectDll.load())
|
||||
{
|
||||
const bool resolvedCommon = resolveCommonSimConnectSymbols(simConnectDll);
|
||||
if (!resolvedCommon)
|
||||
{
|
||||
CLogMessage(CLogCategories::driver()).error(u"Failed to resolve common symbols from SimConnect.dll: '%1'")
|
||||
<< simConnectFileName;
|
||||
return false;
|
||||
}
|
||||
|
||||
CLogMessage(CLogCategories::driver()).info(u"Loaded and resolved MSFS2024 symbols from SimConnect.dll: '%1'")
|
||||
<< simConnectFileName;
|
||||
return resolvedCommon;
|
||||
}
|
||||
else
|
||||
{
|
||||
CLogMessage(CLogCategories::driver()).error(u"Failed to load SimConnect.dll: '%1' '%2'")
|
||||
<< simConnectFileName << simConnectDll.errorString();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
#else
|
||||
bool loadAndResolveFsxSimConnect(bool manifestProbing)
|
||||
{
|
||||
|
||||
@@ -39,6 +39,8 @@ inline bool loadAndResolveP3DSimConnectByString(const QString &version)
|
||||
|
||||
FSXCOMMON_EXPORT bool loadAndResolveMSFSimConnect();
|
||||
|
||||
FSXCOMMON_EXPORT bool loadAndResolveMSFS2024SimConnect();
|
||||
|
||||
#else
|
||||
|
||||
//! Load and resolve FSX SimConnect.
|
||||
|
||||
@@ -509,7 +509,8 @@ namespace swift::simplugin::fsxcommon
|
||||
const CFsxP3DSettings settings = m_detailsSettings.getSettings(this->getSimulatorInfo());
|
||||
m_useAddSimulatedObj = settings.isAddingAsSimulatedObjectEnabled();
|
||||
m_useSbOffsets = settings.isSbOffsetsEnabled();
|
||||
if (this->getSimulatorPluginInfo().getSimulatorInfo().isMSFS())
|
||||
if (this->getSimulatorPluginInfo().getSimulatorInfo().isMSFS() ||
|
||||
this->getSimulatorPluginInfo().getSimulatorInfo().isMSFS2024())
|
||||
{
|
||||
m_useSbOffsets = false; // Always disable SbOffsets for MSFS. Using new transponder mode property directly
|
||||
}
|
||||
@@ -533,7 +534,9 @@ namespace swift::simplugin::fsxcommon
|
||||
SIMCONNECT_PERIOD_SECOND, SIMCONNECT_DATA_REQUEST_FLAG_CHANGED),
|
||||
"Cannot request sim.env.", Q_FUNC_INFO, "SimConnect_RequestDataOnSimObject");
|
||||
|
||||
if (!this->getSimulatorPluginInfo().getSimulatorInfo().isMSFS())
|
||||
// TODO TZ use MSFS2024 FSUIPC?
|
||||
if (!this->getSimulatorPluginInfo().getSimulatorInfo().isMSFS() &&
|
||||
!this->getSimulatorPluginInfo().getSimulatorInfo().isMSFS2024())
|
||||
{
|
||||
// Request the data from SB only when its changed and only ONCE so we don't have to run a 1sec event to
|
||||
// get/set this info ;) there was a bug with SIMCONNECT_CLIENT_DATA_PERIOD_ON_SET, see
|
||||
@@ -3113,6 +3116,11 @@ namespace swift::simplugin::fsxcommon
|
||||
// MSFS 2020 drivers only works with MSFS
|
||||
return connectedSimName.contains("kittyhawk");
|
||||
}
|
||||
else if (pluginSim.isMSFS2024())
|
||||
{
|
||||
// MSFS2024 drivers only works with MSFS2024
|
||||
return connectedSimName.contains("sunrise");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
29
src/plugins/simulator/msfs2024/CMakeLists.txt
Normal file
29
src/plugins/simulator/msfs2024/CMakeLists.txt
Normal file
@@ -0,0 +1,29 @@
|
||||
# SPDX-FileCopyrightText: Copyright (C) swift Project Community / Contributors
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
|
||||
|
||||
add_library(simulatormsfs2024 SHARED
|
||||
simulatormsfs2024.cpp
|
||||
simulatormsfs2024.h
|
||||
simulatormsfs2024.json
|
||||
simulatormsfs2024factory.cpp
|
||||
simulatormsfs2024factory.h
|
||||
)
|
||||
|
||||
set_target_properties(simulatormsfs2024 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
|
||||
set_target_properties(simulatormsfs2024 PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
|
||||
|
||||
target_include_directories(simulatormsfs2024 PUBLIC ${PROJECT_SOURCE_DIR}/src)
|
||||
|
||||
target_link_libraries(simulatormsfs2024
|
||||
PUBLIC
|
||||
fscommon
|
||||
fsxcommon
|
||||
core
|
||||
misc
|
||||
Qt::Core
|
||||
)
|
||||
|
||||
install(TARGETS simulatormsfs2024
|
||||
LIBRARY DESTINATION bin/plugins/simulator
|
||||
RUNTIME DESTINATION bin/plugins/simulator
|
||||
)
|
||||
50
src/plugins/simulator/msfs2024/simulatormsfs2024.cpp
Normal file
50
src/plugins/simulator/msfs2024/simulatormsfs2024.cpp
Normal file
@@ -0,0 +1,50 @@
|
||||
// SPDX-FileCopyrightText: Copyright (C) 2020 swift Project Community / Contributors
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
|
||||
|
||||
#include "simulatorMsFs2024.h"
|
||||
|
||||
#include "../fsxcommon/simconnectsymbols.h"
|
||||
|
||||
using namespace swift::misc;
|
||||
using namespace swift::misc::aviation;
|
||||
using namespace swift::misc::physical_quantities;
|
||||
using namespace swift::misc::geo;
|
||||
using namespace swift::misc::network;
|
||||
using namespace swift::misc::simulation;
|
||||
using namespace swift::misc::simulation::fscommon;
|
||||
using namespace swift::core;
|
||||
using namespace swift::simplugin::fsxcommon;
|
||||
|
||||
namespace swift::simplugin::msfs2024
|
||||
{
|
||||
CSimulatorMsFs2024::CSimulatorMsFs2024(const CSimulatorPluginInfo &info, IOwnAircraftProvider *ownAircraftProvider,
|
||||
IRemoteAircraftProvider *remoteAircraftProvider,
|
||||
IClientProvider *clientProvider, QObject *parent)
|
||||
: CSimulatorFsxCommon(info, ownAircraftProvider, remoteAircraftProvider, clientProvider, parent)
|
||||
{
|
||||
this->setDefaultModel({ "Airbus A320 Neo Asobo", CAircraftModel::TypeModelMatchingDefaultModel,
|
||||
"Airbus A320 default model", CAircraftIcaoCode("A320", "L2J") });
|
||||
}
|
||||
|
||||
bool CSimulatorMsFs2024::connectTo()
|
||||
{
|
||||
if (!loadAndResolveMSFS2024SimConnect()) { return false; }
|
||||
return CSimulatorFsxCommon::connectTo();
|
||||
}
|
||||
|
||||
void CSimulatorMsFs2024::setTrueAltitude(CAircraftSituation &aircraftSituation,
|
||||
const DataDefinitionOwnAircraft &simulatorOwnAircraft)
|
||||
{
|
||||
aircraftSituation.setAltitude(
|
||||
CAltitude(simulatorOwnAircraft.altitudeCalibratedFt, CAltitude::MeanSeaLevel, CLengthUnit::ft()));
|
||||
m_altitudeDelta = { simulatorOwnAircraft.altitudeFt - simulatorOwnAircraft.altitudeCalibratedFt,
|
||||
CLengthUnit::ft() };
|
||||
}
|
||||
|
||||
void CSimulatorMsFs2024Listener::startImpl()
|
||||
{
|
||||
if (!loadAndResolveMSFS2024SimConnect()) { return; }
|
||||
CSimulatorFsxCommonListener::startImpl();
|
||||
}
|
||||
|
||||
} // namespace swift::simplugin::msfs2024
|
||||
49
src/plugins/simulator/msfs2024/simulatormsfs2024.h
Normal file
49
src/plugins/simulator/msfs2024/simulatormsfs2024.h
Normal file
@@ -0,0 +1,49 @@
|
||||
// SPDX-FileCopyrightText: Copyright (C) 2020 swift Project Community / Contributors
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
|
||||
|
||||
//! \file
|
||||
|
||||
#ifndef SWIFT_SIMPLUGIN_MSFS_SIMULATORMSFS2024_H
|
||||
#define SWIFT_SIMPLUGIN_MSFS_SIMULATORMSFS2024_H
|
||||
|
||||
#include "../fsxcommon/simulatorfsxcommon.h"
|
||||
|
||||
namespace swift::simplugin::msfs2024
|
||||
{
|
||||
//! FSX simulator implementation
|
||||
class CSimulatorMsFs2024 : public swift::simplugin::fsxcommon::CSimulatorFsxCommon
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
//! Constructor, parameters as in \sa swift::core::ISimulatorFactory::create
|
||||
CSimulatorMsFs2024(const swift::misc::simulation::CSimulatorPluginInfo &info,
|
||||
swift::misc::simulation::IOwnAircraftProvider *ownAircraftProvider,
|
||||
swift::misc::simulation::IRemoteAircraftProvider *remoteAircraftProvider,
|
||||
swift::misc::network::IClientProvider *clientProvider, QObject *parent = nullptr);
|
||||
|
||||
//! \name ISimulator implementations
|
||||
//! @{
|
||||
virtual bool connectTo() override;
|
||||
//! @}
|
||||
|
||||
virtual void
|
||||
setTrueAltitude(swift::misc::aviation::CAircraftSituation &aircraftSituation,
|
||||
const swift::simplugin::fsxcommon::DataDefinitionOwnAircraft &simulatorOwnAircraft) override;
|
||||
};
|
||||
|
||||
//! Listener for MSFS2024
|
||||
class CSimulatorMsFs2024Listener : public fsxcommon::CSimulatorFsxCommonListener
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
//! Constructor
|
||||
using CSimulatorFsxCommonListener::CSimulatorFsxCommonListener;
|
||||
|
||||
protected:
|
||||
virtual void startImpl() override;
|
||||
};
|
||||
} // namespace swift::simplugin::msfs2024
|
||||
|
||||
#endif // guard
|
||||
7
src/plugins/simulator/msfs2024/simulatormsfs2024.json
Normal file
7
src/plugins/simulator/msfs2024/simulatormsfs2024.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"identifier" : "org.swift-project.plugins.simulator.msfs2024",
|
||||
"name" : "Flight Simulator 2024",
|
||||
"simulator" : "msfs2024",
|
||||
"description" : "Microsoft Flight Simulator 2024",
|
||||
"config" : "org.swift-project.plugins.simulator.msfs2024.config"
|
||||
}
|
||||
29
src/plugins/simulator/msfs2024/simulatormsfs2024factory.cpp
Normal file
29
src/plugins/simulator/msfs2024/simulatormsfs2024factory.cpp
Normal file
@@ -0,0 +1,29 @@
|
||||
// SPDX-FileCopyrightText: Copyright (C) 2013 swift Project Community / Contributors
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
|
||||
|
||||
#include "simulatormsfs2024factory.h"
|
||||
|
||||
#include "simulatormsfs2024.h"
|
||||
|
||||
#include "misc/simulation/simulatorplugininfo.h"
|
||||
|
||||
using namespace swift::misc::network;
|
||||
using namespace swift::misc::simulation;
|
||||
using namespace swift::core;
|
||||
|
||||
namespace swift::simplugin::msfs2024
|
||||
{
|
||||
ISimulator *CSimulatorMsFs2024Factory::create(const CSimulatorPluginInfo &info,
|
||||
IOwnAircraftProvider *ownAircraftProvider,
|
||||
IRemoteAircraftProvider *remoteAircraftProvider,
|
||||
IClientProvider *clientProvider)
|
||||
{
|
||||
Q_ASSERT(ownAircraftProvider);
|
||||
return new CSimulatorMsFs2024(info, ownAircraftProvider, remoteAircraftProvider, clientProvider, this);
|
||||
}
|
||||
|
||||
ISimulatorListener *CSimulatorMsFs2024Factory::createListener(const CSimulatorPluginInfo &info)
|
||||
{
|
||||
return new CSimulatorMsFs2024Listener(info);
|
||||
}
|
||||
} // namespace swift::simplugin::msfs2024
|
||||
38
src/plugins/simulator/msfs2024/simulatormsfs2024factory.h
Normal file
38
src/plugins/simulator/msfs2024/simulatormsfs2024factory.h
Normal file
@@ -0,0 +1,38 @@
|
||||
// SPDX-FileCopyrightText: Copyright (C) 2013 swift Project Community / Contributors
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
|
||||
|
||||
//! \file
|
||||
|
||||
#ifndef SWIFT_SIMPLUGIN_SIMULATOR_MSFS2024FACTORY_H
|
||||
#define SWIFT_SIMPLUGIN_SIMULATOR_MSFS2024FACTORY_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QtPlugin>
|
||||
|
||||
#include "core/simulator.h"
|
||||
#include "misc/simulation/simulatorplugininfo.h"
|
||||
|
||||
namespace swift::simplugin::msfs2024
|
||||
{
|
||||
//! Factory implementation to create CSimulatorFsx instances
|
||||
class CSimulatorMsFs2024Factory : public QObject, public swift::core::ISimulatorFactory
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PLUGIN_METADATA(IID "org.swift-project.swift_core.simulatorinterface" FILE "simulatormsfs2024.json")
|
||||
Q_INTERFACES(swift::core::ISimulatorFactory)
|
||||
|
||||
public:
|
||||
//! \copydoc swift::core::ISimulatorFactory::create
|
||||
virtual swift::core::ISimulator *
|
||||
create(const swift::misc::simulation::CSimulatorPluginInfo &info,
|
||||
swift::misc::simulation::IOwnAircraftProvider *ownAircraftProvider,
|
||||
swift::misc::simulation::IRemoteAircraftProvider *remoteAircraftProvider,
|
||||
swift::misc::network::IClientProvider *clientProvider) override;
|
||||
|
||||
//! \copydoc swift::core::ISimulatorFactory::createListener
|
||||
virtual swift::core::ISimulatorListener *
|
||||
createListener(const swift::misc::simulation::CSimulatorPluginInfo &info) override;
|
||||
};
|
||||
} // namespace swift::simplugin::msfs2024
|
||||
|
||||
#endif // guard
|
||||
@@ -1,27 +0,0 @@
|
||||
# SPDX-FileCopyrightText: Copyright (C) swift Project Community / Contributors
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
|
||||
|
||||
add_library(simulatormsfsconfig SHARED
|
||||
simulatormsfsconfig.cpp
|
||||
simulatormsfsconfig.h
|
||||
simulatormsfsconfig.json
|
||||
)
|
||||
|
||||
set_target_properties(simulatormsfsconfig PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
|
||||
set_target_properties(simulatormsfsconfig PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/bin/plugins/simulator)
|
||||
|
||||
target_include_directories(simulatormsfsconfig PUBLIC ${PROJECT_SOURCE_DIR}/src)
|
||||
|
||||
target_link_libraries(simulatormsfsconfig
|
||||
PUBLIC
|
||||
gui
|
||||
misc
|
||||
Qt::Core
|
||||
PRIVATE
|
||||
fsxcommon
|
||||
)
|
||||
|
||||
install(TARGETS simulatormsfsconfig
|
||||
LIBRARY DESTINATION bin/plugins/simulator
|
||||
RUNTIME DESTINATION bin/plugins/simulator
|
||||
)
|
||||
@@ -1,19 +0,0 @@
|
||||
// SPDX-FileCopyrightText: Copyright (C) 2017 swift Project Community / Contributors
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
|
||||
|
||||
#include "simulatormsfsconfig.h"
|
||||
|
||||
#include "../fsxcommon/simulatorfsxconfigwindow.h"
|
||||
|
||||
namespace swift::simplugin::msfs
|
||||
{
|
||||
CSimulatorMsfsConfig::CSimulatorMsfsConfig(QObject *parent) : QObject(parent)
|
||||
{
|
||||
// void
|
||||
}
|
||||
|
||||
swift::gui::CPluginConfigWindow *CSimulatorMsfsConfig::createConfigWindow(QWidget *parent)
|
||||
{
|
||||
return new fsxcommon::CSimulatorFsxConfigWindow("MSFS", parent);
|
||||
}
|
||||
} // namespace swift::simplugin::msfs
|
||||
@@ -1,34 +0,0 @@
|
||||
// SPDX-FileCopyrightText: Copyright (C) 2017 swift Project Community / Contributors
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
|
||||
|
||||
//! \file
|
||||
|
||||
#ifndef SWIFT_SIMPLUGIN_MSFS_SIMULATORMSFSCONFIG_H
|
||||
#define SWIFT_SIMPLUGIN_MSFS_SIMULATORMSFSCONFIG_H
|
||||
|
||||
#include "gui/pluginconfig.h"
|
||||
|
||||
namespace swift::simplugin::msfs
|
||||
{
|
||||
/*!
|
||||
* Window for setting up the MSFS plugin.
|
||||
*/
|
||||
class CSimulatorMsfsConfig : public QObject, public swift::gui::IPluginConfig
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PLUGIN_METADATA(IID "org.swift-project.swiftgui.pluginconfiginterface" FILE "simulatormsfsconfig.json")
|
||||
Q_INTERFACES(swift::gui::IPluginConfig)
|
||||
|
||||
public:
|
||||
//! Ctor
|
||||
CSimulatorMsfsConfig(QObject *parent = nullptr);
|
||||
|
||||
//! Dtor
|
||||
virtual ~CSimulatorMsfsConfig() {}
|
||||
|
||||
//! \copydoc swift::gui::IPluginConfig::createConfigWindow()
|
||||
swift::gui::CPluginConfigWindow *createConfigWindow(QWidget *parent) override;
|
||||
};
|
||||
} // namespace swift::simplugin::msfs
|
||||
|
||||
#endif // SWIFT_SIMPLUGIN_MSFS_SIMULATORMSFSCONFIG_H
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"identifier" : "org.swift-project.plugins.simulator.msfs.config"
|
||||
}
|
||||
Reference in New Issue
Block a user