From a4e902f72ab884a1524ce703784e2018eadff34d Mon Sep 17 00:00:00 2001 From: jochenschmich Date: Thu, 7 Mar 2024 07:53:17 +0100 Subject: [PATCH] Fix several issues that prevent the CPD from running properly --- .../DirectInput/DIDeviceMonitor.cs | 18 ++++++++++++++---- .../EventHandlers/InputControlEventHandler.cs | 1 + .../MovingMap/CenterAirplaneRenderer.cs | 2 +- .../Terrain/TileSetConfigValueReader.cs | 4 ++-- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/Common/InputSupport/DirectInput/DIDeviceMonitor.cs b/src/Common/InputSupport/DirectInput/DIDeviceMonitor.cs index 09158109..d513f972 100644 --- a/src/Common/InputSupport/DirectInput/DIDeviceMonitor.cs +++ b/src/Common/InputSupport/DirectInput/DIDeviceMonitor.cs @@ -203,11 +203,19 @@ public void DIEventMonitorThreadWork() } } } - catch (ThreadAbortException) + catch (ThreadAbortException exception) { + Log.Error(exception.ToString()); Thread.ResetAbort(); } - catch (ThreadInterruptedException) {} + catch (ThreadInterruptedException exception) + { + Log.Error(exception.ToString()); + } + catch (Exception exception) + { + Log.Error(exception.ToString()); + } } } @@ -368,8 +376,9 @@ protected override void Prepare() Prepared = true; } } - catch + catch(Exception exception) { + Log.Error(exception.ToString()); Prepared = false; } finally @@ -446,8 +455,9 @@ private void GetNewJoyState() StateChanged?.Invoke(this, new DIStateChangedEventArgs(_prevState, _state)); } } - catch + catch(Exception exception) { + Log.Error(exception.ToString()); Dispose(); Prepared = false; } diff --git a/src/F16CPD/SimSupport/Falcon4/EventHandlers/InputControlEventHandler.cs b/src/F16CPD/SimSupport/Falcon4/EventHandlers/InputControlEventHandler.cs index 29ec36a4..d8680513 100644 --- a/src/F16CPD/SimSupport/Falcon4/EventHandlers/InputControlEventHandler.cs +++ b/src/F16CPD/SimSupport/Falcon4/EventHandlers/InputControlEventHandler.cs @@ -39,6 +39,7 @@ public InputControlEventHandler( ISetExtFuelSwitchTransWingFirstEventHandler setExtFuelSwitchTransWingFirstEventHandler=null ) { + falconCallbackSender = falconCallbackSender ?? new FalconCallbackSender(mfdManager); _optionSelectButtonPressHandler = optionSelectButtonPressHandler ?? new OptionSelectButtonPressHandler(mfdManager, falconCallbackSender); _setHsiModeTcnEventHandler = setHsiModeTcnEventHandler ?? new SetHsiModeTcnEventHandler(falconCallbackSender); _setHsiModePlsNavEventHandler = setHsiModePlsNavEventHandler ?? new SetHsiModePlsNavEventHandler(falconCallbackSender); diff --git a/src/F16CPD/SimSupport/Falcon4/MovingMap/CenterAirplaneRenderer.cs b/src/F16CPD/SimSupport/Falcon4/MovingMap/CenterAirplaneRenderer.cs index 83f3b2e3..87bb3c6f 100644 --- a/src/F16CPD/SimSupport/Falcon4/MovingMap/CenterAirplaneRenderer.cs +++ b/src/F16CPD/SimSupport/Falcon4/MovingMap/CenterAirplaneRenderer.cs @@ -18,7 +18,7 @@ public void DrawCenterAirplaneSymbol(Graphics g, Rectangle renderRectangle) { if (_mapAirplaneBitmap == null) { - _mapAirplaneBitmap = (Bitmap) Resources.F16Symbol.Clone(); + _mapAirplaneBitmap = new Bitmap((System.Drawing.Image) Resources.F16Symbol.Clone()); _mapAirplaneBitmap.MakeTransparent(Color.FromArgb(255, 0, 255)); _mapAirplaneBitmap = (Bitmap) diff --git a/src/F4Utils/Terrain/TileSetConfigValueReader.cs b/src/F4Utils/Terrain/TileSetConfigValueReader.cs index 7304bb70..0d8fad6a 100644 --- a/src/F4Utils/Terrain/TileSetConfigValueReader.cs +++ b/src/F4Utils/Terrain/TileSetConfigValueReader.cs @@ -17,8 +17,8 @@ public string TileSetConfigValue get { var configLines = new List(); - var configFolder = Path.Combine(_bmsBaseDir, @"\Config"); - var bmsConfigFile = Path.Combine(configFolder, "Falcon BMS.config"); + var configFolder = Path.Combine(_bmsBaseDir, "User/Config"); + var bmsConfigFile = Path.Combine(configFolder, "Falcon BMS.cfg"); using (var sr = new StreamReader(bmsConfigFile)) { while (!sr.EndOfStream)