1
0
Fork 0
mirror of https://github.com/hawkeye-stan/msfs-popout-panel-manager.git synced 2024-11-21 13:20:11 +00:00

Added camera zoom setting workaround

This commit is contained in:
hawkeye 2023-07-30 17:30:47 -04:00
parent 65016c6264
commit d594ea96f2
19 changed files with 101 additions and 107 deletions

View file

@ -11,9 +11,9 @@
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl> <PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
<RootNamespace>MSFSPopoutPanelManager.DomainModel</RootNamespace> <RootNamespace>MSFSPopoutPanelManager.DomainModel</RootNamespace>
<Platforms>x64</Platforms> <Platforms>x64</Platforms>
<Version>4.0.1.3</Version> <Version>4.0.2.0</Version>
<AssemblyVersion>4.0.1.3</AssemblyVersion> <AssemblyVersion>4.0.2.0</AssemblyVersion>
<FileVersion>4.0.1.3</FileVersion> <FileVersion>4.0.2.0</FileVersion>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<DebugType>Embedded</DebugType> <DebugType>Embedded</DebugType>
<Configurations>Debug;Release;Local</Configurations> <Configurations>Debug;Release;Local</Configurations>

View file

@ -14,9 +14,9 @@
<RootNamespace>MSFSPopoutPanelManager.MainApp</RootNamespace> <RootNamespace>MSFSPopoutPanelManager.MainApp</RootNamespace>
<ApplicationIcon>logo.ico</ApplicationIcon> <ApplicationIcon>logo.ico</ApplicationIcon>
<Platforms>x64</Platforms> <Platforms>x64</Platforms>
<Version>4.0.1.3</Version> <Version>4.0.2.0</Version>
<AssemblyVersion>4.0.1.3</AssemblyVersion> <AssemblyVersion>4.0.2.0</AssemblyVersion>
<FileVersion>4.0.1.3</FileVersion> <FileVersion>4.0.2.0</FileVersion>
<DebugType>embedded</DebugType> <DebugType>embedded</DebugType>
<SatelliteResourceLanguages>en</SatelliteResourceLanguages> <SatelliteResourceLanguages>en</SatelliteResourceLanguages>
<!-- Publishing options --> <!-- Publishing options -->
@ -26,6 +26,10 @@
<PublishReadyToRunComposite>false</PublishReadyToRunComposite> <PublishReadyToRunComposite>false</PublishReadyToRunComposite>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Local|x64'">
<Optimize>True</Optimize>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<Resource Include="logo.ico" /> <Resource Include="logo.ico" />
</ItemGroup> </ItemGroup>

View file

@ -4,7 +4,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
--> -->
<Project> <Project>
<PropertyGroup> <PropertyGroup>
<Configuration>Release</Configuration> <Configuration>Local</Configuration>
<Platform>x64</Platform> <Platform>x64</Platform>
<PublishDir>..\..\..\publish\master</PublishDir> <PublishDir>..\..\..\publish\master</PublishDir>
<PublishProtocol>FileSystem</PublishProtocol> <PublishProtocol>FileSystem</PublishProtocol>

View file

@ -26,7 +26,15 @@ namespace MSFSPopoutPanelManager.MainApp.ViewModel
HyperLinkCommand = new DelegateCommand<string>(OnHyperLinkActivated); HyperLinkCommand = new DelegateCommand<string>(OnHyperLinkActivated);
DeleteAppCacheCommand = new DelegateCommand(OnDeleteAppCache); DeleteAppCacheCommand = new DelegateCommand(OnDeleteAppCache);
RollBackCommand = new DelegateCommand(OnRollBack); RollBackCommand = new DelegateCommand(OnRollBack);
ApplicationVersion = WindowProcessManager.GetApplicationVersion();
var buildConfig = string.Empty;
#if DEBUG
buildConfig = " (Debug)";
#elif LOCAL
buildConfig = " (Local)";
#endif
ApplicationVersion = $"{WindowProcessManager.GetApplicationVersion()}{buildConfig}";
IsRollBackCommandVisible = Orchestrator.Help.IsRollBackUpdateEnabled(); IsRollBackCommandVisible = Orchestrator.Help.IsRollBackUpdateEnabled();
HasOrphanAppCache = Orchestrator.Help.HasOrphanAppCache(); HasOrphanAppCache = Orchestrator.Help.HasOrphanAppCache();

View file

@ -28,6 +28,8 @@ namespace MSFSPopoutPanelManager.Orchestration
public int CameraState { get; set; } public int CameraState { get; set; }
public int CockpitCameraZoom { get; set; }
public bool PlaneInParkingSpot { get; set; } public bool PlaneInParkingSpot { get; set; }
public bool IsSimulatorStarted { get; set; } public bool IsSimulatorStarted { get; set; }

View file

@ -69,6 +69,10 @@ namespace MSFSPopoutPanelManager.Orchestration
var trackIR = Convert.ToBoolean(e.Find(d => d.PropertyName == SimDataDefinitions.PropName.TrackIREnable).Value); var trackIR = Convert.ToBoolean(e.Find(d => d.PropertyName == SimDataDefinitions.PropName.TrackIREnable).Value);
if (trackIR != _flightSimData.TrackIRStatus) if (trackIR != _flightSimData.TrackIRStatus)
_flightSimData.TrackIRStatus = trackIR; _flightSimData.TrackIRStatus = trackIR;
var cockpitCameraZoom = Convert.ToInt32(e.Find(d => d.PropertyName == SimDataDefinitions.PropName.CockpitCameraZoom).Value);
if (cockpitCameraZoom != _flightSimData.CockpitCameraZoom)
_flightSimData.CockpitCameraZoom = cockpitCameraZoom;
}; };
_simConnectProvider.OnSimConnectDataHudBarRefreshed += (sender, e) => _simConnectProvider.OnSimConnectDataHudBarRefreshed += (sender, e) =>
@ -308,6 +312,11 @@ namespace MSFSPopoutPanelManager.Orchestration
_simConnectProvider.DecreaseSimRate(); _simConnectProvider.DecreaseSimRate();
} }
public void SetCockpitCameraZoomLevel(int zoomLevel)
{
_simConnectProvider.SetCockpitCameraZoomLevel(zoomLevel);
}
public void SetHudBarConfig() public void SetHudBarConfig()
{ {
if (_simConnectProvider == null) if (_simConnectProvider == null)

View file

@ -19,7 +19,7 @@ namespace MSFSPopoutPanelManager.Orchestration
FlightSimData.ProfileDataRef = ProfileData; FlightSimData.ProfileDataRef = ProfileData;
Profile = new ProfileOrchestrator(ProfileData, FlightSimData); Profile = new ProfileOrchestrator(ProfileData, FlightSimData);
PanelSource = new PanelSourceOrchestrator(ProfileData, AppSettingData); PanelSource = new PanelSourceOrchestrator(ProfileData, AppSettingData, FlightSimData);
PanelPopOut = new PanelPopOutOrchestrator(ProfileData, AppSettingData, FlightSimData); PanelPopOut = new PanelPopOutOrchestrator(ProfileData, AppSettingData, FlightSimData);
PanelConfiguration = new PanelConfigurationOrchestrator(ProfileData, AppSettingData, FlightSimData); PanelConfiguration = new PanelConfigurationOrchestrator(ProfileData, AppSettingData, FlightSimData);
FlightSim = new FlightSimOrchestrator(ProfileData, AppSettingData, FlightSimData); FlightSim = new FlightSimOrchestrator(ProfileData, AppSettingData, FlightSimData);

View file

@ -11,9 +11,9 @@
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl> <PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
<RootNamespace>MSFSPopoutPanelManager.Orchestration</RootNamespace> <RootNamespace>MSFSPopoutPanelManager.Orchestration</RootNamespace>
<Platforms>x64</Platforms> <Platforms>x64</Platforms>
<Version>4.0.1.3</Version> <Version>4.0.2.0</Version>
<AssemblyVersion>4.0.1.3</AssemblyVersion> <AssemblyVersion>4.0.2.0</AssemblyVersion>
<FileVersion>4.0.1.3</FileVersion> <FileVersion>4.0.2.0</FileVersion>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<DebugType>Embedded</DebugType> <DebugType>Embedded</DebugType>
<Configurations>Debug;Release;Local</Configurations> <Configurations>Debug;Release;Local</Configurations>

View file

@ -19,6 +19,7 @@ namespace MSFSPopoutPanelManager.Orchestration
private ProfileData _profileData; private ProfileData _profileData;
private AppSettingData _appSettingData; private AppSettingData _appSettingData;
private FlightSimData _flightSimData; private FlightSimData _flightSimData;
private int _prePopOutCockpitZoomLevel = 50;
public PanelPopOutOrchestrator(ProfileData profileData, AppSettingData appSettingData, FlightSimData flightSimData) public PanelPopOutOrchestrator(ProfileData profileData, AppSettingData appSettingData, FlightSimData flightSimData)
{ {
@ -181,7 +182,11 @@ namespace MSFSPopoutPanelManager.Orchestration
if (AppSetting.PopOutSetting.AutoPanning.IsEnabled) if (AppSetting.PopOutSetting.AutoPanning.IsEnabled)
{ {
StatusMessageWriter.WriteMessage("Setting auto panning camera angle", StatusMessageType.Info); StatusMessageWriter.WriteMessage("Setting auto panning camera angle", StatusMessageType.Info);
// Remember current game's zoom level to be recall after pop out
_prePopOutCockpitZoomLevel = _flightSimData.CockpitCameraZoom;
InputEmulationManager.LoadCustomView(AppSetting.PopOutSetting.AutoPanning.KeyBinding); InputEmulationManager.LoadCustomView(AppSetting.PopOutSetting.AutoPanning.KeyBinding);
FlightSimOrchestrator.SetCockpitCameraZoomLevel(50);
StatusMessageWriter.WriteOkStatusMessage(); StatusMessageWriter.WriteOkStatusMessage();
} }
}); });
@ -238,7 +243,10 @@ namespace MSFSPopoutPanelManager.Orchestration
FlightSimOrchestrator.TurnOffActivePause(); FlightSimOrchestrator.TurnOffActivePause();
// Return to custom camera view if set // Return to custom camera view if set
var task = Task.Run(() => ReturnToAfterPopOutCameraView()); var task = Task.Run(() => {
FlightSimOrchestrator.SetCockpitCameraZoomLevel(_prePopOutCockpitZoomLevel);
ReturnToAfterPopOutCameraView();
});
}); });
} }
@ -474,9 +482,11 @@ namespace MSFSPopoutPanelManager.Orchestration
switch (AppSetting.PopOutSetting.AfterPopOutCameraView.CameraView) switch (AppSetting.PopOutSetting.AfterPopOutCameraView.CameraView)
{ {
case AfterPopOutCameraViewType.CockpitCenterView: case AfterPopOutCameraViewType.CockpitCenterView:
FlightSimOrchestrator.SetCockpitCameraZoomLevel(_prePopOutCockpitZoomLevel);
InputEmulationManager.CenterView(); InputEmulationManager.CenterView();
break; break;
case AfterPopOutCameraViewType.CustomCameraView: case AfterPopOutCameraViewType.CustomCameraView:
FlightSimOrchestrator.SetCockpitCameraZoomLevel(_prePopOutCockpitZoomLevel);
InputEmulationManager.LoadCustomView(AppSetting.PopOutSetting.AfterPopOutCameraView.KeyBinding); InputEmulationManager.LoadCustomView(AppSetting.PopOutSetting.AfterPopOutCameraView.KeyBinding);
break; break;
} }

View file

@ -3,6 +3,7 @@ using MSFSPopoutPanelManager.DomainModel.Setting;
using MSFSPopoutPanelManager.Shared; using MSFSPopoutPanelManager.Shared;
using MSFSPopoutPanelManager.WindowsAgent; using MSFSPopoutPanelManager.WindowsAgent;
using System; using System;
using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Point = System.Drawing.Point; using Point = System.Drawing.Point;
@ -12,11 +13,14 @@ namespace MSFSPopoutPanelManager.Orchestration
{ {
private ProfileData _profileData; private ProfileData _profileData;
private AppSettingData _appSettingData; private AppSettingData _appSettingData;
private FlightSimData _flightSimData;
private int _prePanelConfigurationCockpitZoomLevel = 50;
public PanelSourceOrchestrator(ProfileData profileData, AppSettingData appSettingData) public PanelSourceOrchestrator(ProfileData profileData, AppSettingData appSettingData, FlightSimData flightSimData)
{ {
_profileData = profileData; _profileData = profileData;
_appSettingData = appSettingData; _appSettingData = appSettingData;
_flightSimData = flightSimData;
_profileData.ActiveProfileChanged += (sender, e) => { CloseAllPanelSource(); }; _profileData.ActiveProfileChanged += (sender, e) => { CloseAllPanelSource(); };
} }
@ -57,7 +61,9 @@ namespace MSFSPopoutPanelManager.Orchestration
if (AppSetting.PopOutSetting.AutoPanning.IsEnabled) if (AppSetting.PopOutSetting.AutoPanning.IsEnabled)
{ {
_prePanelConfigurationCockpitZoomLevel = _flightSimData.CockpitCameraZoom;
InputEmulationManager.LoadCustomView(AppSetting.PopOutSetting.AutoPanning.KeyBinding); InputEmulationManager.LoadCustomView(AppSetting.PopOutSetting.AutoPanning.KeyBinding);
FlightSimOrchestrator.SetCockpitCameraZoomLevel(50);
WindowActionManager.BringWindowToForeground(ApplicationHandle); WindowActionManager.BringWindowToForeground(ApplicationHandle);
} }
}); });
@ -93,15 +99,20 @@ namespace MSFSPopoutPanelManager.Orchestration
{ {
// Recenter game or return to after pop out camera view // Recenter game or return to after pop out camera view
if (!AppSetting.PopOutSetting.AfterPopOutCameraView.IsEnabled) if (!AppSetting.PopOutSetting.AfterPopOutCameraView.IsEnabled)
{
FlightSimOrchestrator.SetCockpitCameraZoomLevel(_prePanelConfigurationCockpitZoomLevel);
InputEmulationManager.CenterView(); InputEmulationManager.CenterView();
}
else else
{ {
switch (AppSetting.PopOutSetting.AfterPopOutCameraView.CameraView) switch (AppSetting.PopOutSetting.AfterPopOutCameraView.CameraView)
{ {
case AfterPopOutCameraViewType.CockpitCenterView: case AfterPopOutCameraViewType.CockpitCenterView:
FlightSimOrchestrator.SetCockpitCameraZoomLevel(_prePanelConfigurationCockpitZoomLevel);
InputEmulationManager.CenterView(); InputEmulationManager.CenterView();
break; break;
case AfterPopOutCameraViewType.CustomCameraView: case AfterPopOutCameraViewType.CustomCameraView:
FlightSimOrchestrator.SetCockpitCameraZoomLevel(_prePanelConfigurationCockpitZoomLevel);
InputEmulationManager.LoadCustomView(AppSetting.PopOutSetting.AfterPopOutCameraView.KeyBinding); InputEmulationManager.LoadCustomView(AppSetting.PopOutSetting.AfterPopOutCameraView.KeyBinding);
break; break;
} }

View file

@ -1,76 +1,4 @@
## Version 4.0.1.3 ## Version 4.0.2
* Added workaround for CJ4 CDU panel not popping out because of MSFS bug. * Added workaround for CJ4 CDU panel not popping out because of MSFS bug.
## Version 4.0.1.2 * Added workaround fix when using camera zoom setting with value other than 50 in MSFS general options will cause Pop Out Panel Manager pop out to fail. This is an existing MSFS bug where saving and loading of custom camera view is currently broken for zoom level other than 50.
* Hotfix - Fixed issue where using touch panel feature may freeze computer and the application.
Known Issue:
If the profile has the option of "entire monitor display to have game refocus function when touch" enabled, the configuration of display panels must be listed after the configuration of pop out panels in profile configuration.
## Version 4.0.1.1
* Added preference option in pop out settings to disable pop out progress messages from appearing.
* Added new feature to enable auto game refocus for entire display when using touch.
* Fixed issue when full screen mode is activated which may cause black bar to appear on either size (top/bottom or left/right).
* Fixed preferences pop out title bar color customization setting not saving.
* Fixed few UI issues from v4.0.
## Version 4.0.0
* Major improvement on responsiveness for touch and drag when using touch panel feature. (Please set Touch Down Touch Up Delay to 0 in preference setting to get the fastest performance)
* Brand new redesigned user interface. User will have the ability to edit panel configurations before panels are popped out.
* Added ability to add, remove, edit pop out panel for a profile without the need to redo the entire profile.
* Added ability to configure source instrumentation pop out panel location more easily.
* Added UI feedback when panels are being popped out. Panel configurations are being highlighted as they pop out. Also added onscreen status showing pop out progress.
* Added ability to navigate between profile and search for profile by name.
* Added ability to update profile name.
* Added ability to reorder panel pop out sequence. This may help resolve MSFS issue where panel may not pop out correctly unless they are popped out in certain sequence.
* Updated ability to use keyboard commands to move and adjust pop out panel's size and location without the need to click +/- pixel icons.
* Added auto game refocus option for non-touch enabled panel. An example use case is if you accidentally hover or click a non-touch enabled panel (PFD screen), now the flight control will not be locked out.
* Added preference option to automatically pause the game when pop out is in progress. A example use case is the game can pause during the start of landing challenge until pop out process is completed.
* Added preference option to move panel around when profile is locked. Panel configuration will still be locked and will not get changed.
* Added preference option to allow Pop Out Panel Manager to stay open during pop out process.
* Added preference option to allow setting of pop out title bar color. Instead of the white title bar, the color can be set to blend in with Air Manager's background.
* Added preference option to delay auto pop out after Ready to Fly button is clicked by POPM plugin. For slower computer, this may resolve failed auto pop out because this process was executing too quickly after Ready to Fly button is clicked.
* Added preference option to disable automatic check for application update (for users who want to make sure application is not bypassing firewall and for privacy reason).
* Added a bonus HUD bar feature for PMDG 737 (which I fly the most) and generic aircraft. This includes a stop watch and adjust sim rate function.
* Fixed an outstanding issue where panel configuration information is not accurate (top, left, width, height). Even though application was still working correctly in previous version, the configuration data is not quite correct. In this release, these panel configuration information are mostly fixed.
* Fixed an issue when applying hide title bar to panel, the location and size for the panel will be different than specified (off by about 9 pixels). With this fix, you will need to re-adjust the panel size for the hidden title bar panel.
* Updated user profile and application setting data file format. This new file format is not backward compatible. During first launch of the application, data migration will automatically take place. Backup files will also be created in the event you need to go back to previous version of POPM.
* Updated core code base to improve general application performance and resolve some outstanding bugs and issues regarding latest MSFS code SU12/AAU2.
* Updated application to use latest SimConnect SDK and .NET Framework 7.0.
* Added application rollback feature to restore previous version of the application (v3.4.6.0321) and restore backup of user profile and settings file.
Known issues:
* With rework of core panel configuration data structures, existing profile pop out panel placement may be off by a few pixels. Please use panel configuration function to adjust existing panel size and location if needed. This will only a one time ajustment per profile.
* When applying hide title bar to panel, even though the panel will now correctly fit into bezel or monitor you specified, the aspect ratio of the inner display will mostly be incorrect. This is an MSFS issue and I'm still investigating a workaround for this problem.

View file

@ -11,9 +11,9 @@
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl> <PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
<RootNamespace>MSFSPopoutPanelManager.Shared</RootNamespace> <RootNamespace>MSFSPopoutPanelManager.Shared</RootNamespace>
<Platforms>x64</Platforms> <Platforms>x64</Platforms>
<Version>4.0.1.3</Version> <Version>4.0.2.0</Version>
<AssemblyVersion>4.0.1.3</AssemblyVersion> <AssemblyVersion>4.0.2.0</AssemblyVersion>
<FileVersion>4.0.1.3</FileVersion> <FileVersion>4.0.2.0</FileVersion>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<DebugType>Embedded</DebugType> <DebugType>Embedded</DebugType>
<Configurations>Debug;Release;Local</Configurations> <Configurations>Debug;Release;Local</Configurations>

View file

@ -4,7 +4,8 @@
{ {
REQUIRED_DEFINITION = 0, REQUIRED_DEFINITION = 0,
HUDBAR_DEFINITION, HUDBAR_DEFINITION,
WRITEABLE_DEFINITION, WRITEABLE_TRACKIR_DEFINITION,
WRITEABLE_COCKPITCAMERAZOOM_DEFINITION,
NA NA
} }

View file

@ -3,6 +3,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.Threading; using System.Threading;
using static MSFSPopoutPanelManager.SimConnectAgent.SimDataDefinitions;
namespace MSFSPopoutPanelManager.SimConnectAgent namespace MSFSPopoutPanelManager.SimConnectAgent
{ {
@ -228,9 +229,14 @@ namespace MSFSPopoutPanelManager.SimConnectAgent
Thread.Sleep(200); Thread.Sleep(200);
} }
public void SetCockpitCameraZoomLevel(int zoomLevel)
{
_simConnector.SetDataObject(WriteableVariableName.CockpitCameraZoom, Convert.ToDouble(zoomLevel));
}
private void SetTrackIREnable(bool enable) private void SetTrackIREnable(bool enable)
{ {
_simConnector.SetDataObject(SimDataDefinitions.WriteableVariableName.TrackIREnable, enable ? Convert.ToDouble(1) : Convert.ToDouble(0)); _simConnector.SetDataObject(WriteableVariableName.TrackIREnable, enable ? Convert.ToDouble(1) : Convert.ToDouble(0));
} }
private void HandleSimConnected(object source, EventArgs e) private void HandleSimConnected(object source, EventArgs e)

View file

@ -6,6 +6,7 @@ using System.Diagnostics;
using System.Reflection; using System.Reflection;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Timers; using System.Timers;
using static MSFSPopoutPanelManager.SimConnectAgent.SimDataDefinitions;
namespace MSFSPopoutPanelManager.SimConnectAgent namespace MSFSPopoutPanelManager.SimConnectAgent
{ {
@ -176,14 +177,22 @@ namespace MSFSPopoutPanelManager.SimConnectAgent
} }
} }
public void SetDataObject(string propName, object dValue) public void SetDataObject(WriteableVariableName propName, object dValue)
{ {
try try
{ {
var dataStruct = new WriteableDataStruct(); var dataStruct = new WriteableDataStruct();
dataStruct.Prop0 = (double)dValue; dataStruct.Prop0 = (double)dValue;
_simConnect.SetDataOnSimObject(DATA_DEFINITION.WRITEABLE_DEFINITION, SimConnect.SIMCONNECT_OBJECT_ID_USER, SIMCONNECT_DATA_SET_FLAG.DEFAULT, dataStruct); switch (propName)
{
case WriteableVariableName.TrackIREnable:
_simConnect.SetDataOnSimObject(DATA_DEFINITION.WRITEABLE_TRACKIR_DEFINITION, SimConnect.SIMCONNECT_OBJECT_ID_USER, SIMCONNECT_DATA_SET_FLAG.DEFAULT, dataStruct);
break;
case WriteableVariableName.CockpitCameraZoom:
_simConnect.SetDataOnSimObject(DATA_DEFINITION.WRITEABLE_COCKPITCAMERAZOOM_DEFINITION, SimConnect.SIMCONNECT_OBJECT_ID_USER, SIMCONNECT_DATA_SET_FLAG.DEFAULT, dataStruct);
break;
}
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -298,10 +307,12 @@ namespace MSFSPopoutPanelManager.SimConnectAgent
} }
} }
_simConnect.AddToDataDefinition(DATA_DEFINITION.WRITEABLE_DEFINITION, "TRACK IR ENABLE", "bool", SIMCONNECT_DATATYPE.FLOAT64, 0.0f, SimConnect.SIMCONNECT_UNUSED); _simConnect.AddToDataDefinition(DATA_DEFINITION.WRITEABLE_TRACKIR_DEFINITION, "TRACK IR ENABLE", "bool", SIMCONNECT_DATATYPE.FLOAT64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
_simConnect.AddToDataDefinition(DATA_DEFINITION.WRITEABLE_COCKPITCAMERAZOOM_DEFINITION, "COCKPIT CAMERA ZOOM", "percentage", SIMCONNECT_DATATYPE.FLOAT64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
_simConnect.RegisterDataDefineStruct<SimConnectStruct>(DATA_DEFINITION.REQUIRED_DEFINITION); _simConnect.RegisterDataDefineStruct<SimConnectStruct>(DATA_DEFINITION.REQUIRED_DEFINITION);
_simConnect.RegisterDataDefineStruct<SimConnectStruct>(DATA_DEFINITION.WRITEABLE_DEFINITION); _simConnect.RegisterDataDefineStruct<SimConnectStruct>(DATA_DEFINITION.WRITEABLE_TRACKIR_DEFINITION);
_simConnect.RegisterDataDefineStruct<SimConnectStruct>(DATA_DEFINITION.WRITEABLE_COCKPITCAMERAZOOM_DEFINITION);
} }
private void AddHudBarDataDefinitions() private void AddHudBarDataDefinitions()

View file

@ -12,6 +12,7 @@ namespace MSFSPopoutPanelManager.SimConnectAgent
definitions.Add(new SimConnectDataDefinition() { DefinitionId = DATA_DEFINITION.REQUIRED_DEFINITION, RequestId = DATA_REQUEST.REQUIRED_REQUEST, DataDefinitionType = DataDefinitionType.SimConnect, PropName = PropName.TrackIREnable, VariableName = "TRACK IR ENABLE", SimConnectUnit = "Bool", DataType = DataType.Float64 }); definitions.Add(new SimConnectDataDefinition() { DefinitionId = DATA_DEFINITION.REQUIRED_DEFINITION, RequestId = DATA_REQUEST.REQUIRED_REQUEST, DataDefinitionType = DataDefinitionType.SimConnect, PropName = PropName.TrackIREnable, VariableName = "TRACK IR ENABLE", SimConnectUnit = "Bool", DataType = DataType.Float64 });
definitions.Add(new SimConnectDataDefinition() { DefinitionId = DATA_DEFINITION.REQUIRED_DEFINITION, RequestId = DATA_REQUEST.REQUIRED_REQUEST, DataDefinitionType = DataDefinitionType.SimConnect, PropName = PropName.PlaneInParkingSpot, VariableName = "ATC ON PARKING SPOT", SimConnectUnit = "Bool", DataType = DataType.Float64 }); definitions.Add(new SimConnectDataDefinition() { DefinitionId = DATA_DEFINITION.REQUIRED_DEFINITION, RequestId = DATA_REQUEST.REQUIRED_REQUEST, DataDefinitionType = DataDefinitionType.SimConnect, PropName = PropName.PlaneInParkingSpot, VariableName = "ATC ON PARKING SPOT", SimConnectUnit = "Bool", DataType = DataType.Float64 });
definitions.Add(new SimConnectDataDefinition() { DefinitionId = DATA_DEFINITION.REQUIRED_DEFINITION, RequestId = DATA_REQUEST.REQUIRED_REQUEST, DataDefinitionType = DataDefinitionType.SimConnect, PropName = PropName.CameraState, VariableName = "CAMERA STATE", SimConnectUnit = "Number", DataType = DataType.Float64 }); definitions.Add(new SimConnectDataDefinition() { DefinitionId = DATA_DEFINITION.REQUIRED_DEFINITION, RequestId = DATA_REQUEST.REQUIRED_REQUEST, DataDefinitionType = DataDefinitionType.SimConnect, PropName = PropName.CameraState, VariableName = "CAMERA STATE", SimConnectUnit = "Number", DataType = DataType.Float64 });
definitions.Add(new SimConnectDataDefinition() { DefinitionId = DATA_DEFINITION.REQUIRED_DEFINITION, RequestId = DATA_REQUEST.REQUIRED_REQUEST, DataDefinitionType = DataDefinitionType.SimConnect, PropName = PropName.CockpitCameraZoom, VariableName = "COCKPIT CAMERA ZOOM", SimConnectUnit = "Percentage", DataType = DataType.Float64 });
return definitions; return definitions;
} }
@ -74,6 +75,7 @@ namespace MSFSPopoutPanelManager.SimConnectAgent
public static string PlaneInParkingSpot = "PlaneInParkingSpot"; public static string PlaneInParkingSpot = "PlaneInParkingSpot";
public static string CameraState = "CameraState"; public static string CameraState = "CameraState";
public static string AircraftName = "AircraftName"; public static string AircraftName = "AircraftName";
public static string CockpitCameraZoom = "CockpitCameraZoom";
// Hud Bar data // Hud Bar data
public static string ElevatorTrim = "ElevatorTrim"; public static string ElevatorTrim = "ElevatorTrim";
@ -87,9 +89,10 @@ namespace MSFSPopoutPanelManager.SimConnectAgent
public static string SimRate = "SimRate"; public static string SimRate = "SimRate";
} }
public static class WriteableVariableName public enum WriteableVariableName
{ {
public static string TrackIREnable = "TRACK IR ENABLE"; TrackIREnable,
CockpitCameraZoom
} }
} }

View file

@ -11,9 +11,9 @@
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl> <PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
<RootNamespace>MSFSPopoutPanelManager.SimConnectAgent</RootNamespace> <RootNamespace>MSFSPopoutPanelManager.SimConnectAgent</RootNamespace>
<Platforms>x64</Platforms> <Platforms>x64</Platforms>
<Version>4.0.1.3</Version> <Version>4.0.2.0</Version>
<AssemblyVersion>4.0.1.3</AssemblyVersion> <AssemblyVersion>4.0.2.0</AssemblyVersion>
<FileVersion>4.0.1.3</FileVersion> <FileVersion>4.0.2.0</FileVersion>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<DebugType>Embedded</DebugType> <DebugType>Embedded</DebugType>
<Configurations>Debug;Release;Local</Configurations> <Configurations>Debug;Release;Local</Configurations>

View file

@ -1,10 +1,11 @@
# Version History # Version History
<hr/> <hr/>
## Version 4.0.2
## Version 4.0.1.3
* Added workaround for CJ4 CDU panel not popping out because of MSFS bug. * Added workaround for CJ4 CDU panel not popping out because of MSFS bug.
* Added workaround fix when using camera zoom setting with value other than 50 in MSFS general options will cause Pop Out Panel Manager pop out to fail. This is an existing MSFS bug where saving and loading of custom camera view is currently broken for zoom level other than 50.
## Version 4.0.1.2 ## Version 4.0.1.2
* Hotfix - Fixed issue where using touch panel feature may freeze computer and the application. * Hotfix - Fixed issue where using touch panel feature may freeze computer and the application.

View file

@ -11,9 +11,9 @@
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl> <PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
<RootNamespace>MSFSPopoutPanelManager.WindowsAgent</RootNamespace> <RootNamespace>MSFSPopoutPanelManager.WindowsAgent</RootNamespace>
<Platforms>x64</Platforms> <Platforms>x64</Platforms>
<Version>4.0.1.3</Version> <Version>4.0.2.0</Version>
<AssemblyVersion>4.0.1.3</AssemblyVersion> <AssemblyVersion>4.0.2.0</AssemblyVersion>
<FileVersion>4.0.1.3</FileVersion> <FileVersion>4.0.2.0</FileVersion>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<DebugType>Embedded</DebugType> <DebugType>Embedded</DebugType>
<Configurations>Debug;Release;Local</Configurations> <Configurations>Debug;Release;Local</Configurations>