From b95c90d4d70afb11fd66d760857e361342cc29fc Mon Sep 17 00:00:00 2001 From: Bailey Date: Tue, 28 Sep 2021 02:57:46 +0900 Subject: [PATCH] spitfire update added 2012-2015 and 3005-3010, see readme. added pics folder. --- ExportsModules/Pics/Spitfire/Spitfire.png | Bin 0 -> 2857 bytes ExportsModules/Pics/Spitfire/Spitfire.psd | Bin 0 -> 25912 bytes ExportsModules/Pics/Spitfire/Spitfire2.png | Bin 0 -> 2829 bytes ExportsModules/SpitfireLFMkIX.lua | 125 +++++++++++++++++++-- 4 files changed, 118 insertions(+), 7 deletions(-) create mode 100644 ExportsModules/Pics/Spitfire/Spitfire.png create mode 100644 ExportsModules/Pics/Spitfire/Spitfire.psd create mode 100644 ExportsModules/Pics/Spitfire/Spitfire2.png diff --git a/ExportsModules/Pics/Spitfire/Spitfire.png b/ExportsModules/Pics/Spitfire/Spitfire.png new file mode 100644 index 0000000000000000000000000000000000000000..c4ae1514b23d88e800fcdfa6ab29ec6bddccf4ea GIT binary patch literal 2857 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

p*&K2yG$2$Q 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 literal 0 HcmV?d00001 diff --git a/ExportsModules/SpitfireLFMkIX.lua b/ExportsModules/SpitfireLFMkIX.lua index ea38c52..bc525d3 100644 --- a/ExportsModules/SpitfireLFMkIX.lua +++ b/ExportsModules/SpitfireLFMkIX.lua @@ -16,6 +16,12 @@ 2009 - isPilotOxygenEmergency (either oxygen goes emergency) 2010 - Altimeter Altitude 2011 - Altimiter Pressure setting +2012 - Efficient Climb Airspeed +2013 - Gun Wingspan +2014 - Gun Range +2015 - Optimal Target Aircraft Wingspan + + 3000 - RPM and Boost Tile @@ -23,6 +29,14 @@ 3002 - Oxygen Tile 3003 - Channel and Freq Tile 3004 - Altimeter Tile +3005 - Best Takeoff Tile +3006 - Best Combat Tile +3007 - Best Nominal Tile +3008 - Best Crusing Tile +3009 - Best Climb Tile +3010 - Gun Sight Solution Tile + + --]] ExportScript.FoundDCSModule = true @@ -82,7 +96,7 @@ ExportScript.ConfigEveryFrameArguments = --[62] = "%.4f", -- ??? --[63] = "%.4f", -- ??? --[59] = "%.4f", -- ??? - --[45] = "%.4f" -- GUNSIGHT_RANGE ??? + --[45] = "%.4f" -- ??? } ExportScript.ConfigArguments = { @@ -191,6 +205,9 @@ function ExportScript.ProcessIkarusDCSConfigHighImportance(mainPanelDevice) ExportScript.VhfRadioTile(mainPanelDevice) ExportScript.navigation1Tile(mainPanelDevice) ExportScript.altimeterTile(mainPanelDevice) + ExportScript.BestPowerTiles(mainPanelDevice) + ExportScript.bestClimb(mainPanelDevice) + ExportScript.gunnerTile(mainPanelDevice) end @@ -308,7 +325,7 @@ function ExportScript.engLeftRpmTile(mainPanelDevice) --boost is [39], rpm is [3 local dial_boostLeft = math.floor(dial_boostLeftRaw * 24) - ExportScript.Tools.SendData(3000, string.format("Eng L" .. "\n" + ExportScript.Tools.SendData(3000, string.format("Eng" .. "\n" .. "RPM ".. guage_rpm .. "\n" .. "Boost ".. dial_boostLeft .. "\n")) end @@ -352,9 +369,9 @@ function ExportScript.oxygenTile(mainPanelDevice) end ExportScript.Tools.SendData(2008, isDial_oxygenSupplyPilotRedZone) - local oxygenTile_output = string.format("Oxygen" .. "\n" - .. "PLT Flow ".. dial_oxygenFlowRatePilot .. "\n" - .. "PLT Amt. ".. dial_oxygenSupplyPilot .. "\n") + local oxygenTile_output = string.format("Oxy PLT" .. "\n" + .. "Flow ".. dial_oxygenFlowRatePilot .. "k ft\n" + .. "Amt. ".. dial_oxygenSupplyPilot .. "\n") ExportScript.Tools.SendData(3002, oxygenTile_output) @@ -450,6 +467,10 @@ function ExportScript.altimeterTile(mainPanelDevice) local dial_altimeter_tenThousands = math.floor(mainPanelDevice:get_argument_value(28) * 100000) local altitude = dial_altimeter_tenThousands altitude = round(altitude,-1) + if altitude > 60000 then + altitude = altitude - 100000 + end + altitude = format_int(altitude) local dial_altimeterPressure = round((mainPanelDevice:get_argument_value(29) * 250) + 800,0) @@ -461,12 +482,102 @@ function ExportScript.altimeterTile(mainPanelDevice) end - ExportScript.Tools.SendData(2010, "Altitude:" .. "\n" .. altitude .. "ft") + ExportScript.Tools.SendData(2010, "Altimeter" .. "\n" .. altitude .. "ft") ExportScript.Tools.SendData(2011, "Pressure" .. "\n" ..dial_altimeterPressure .. " mbar") - ExportScript.Tools.SendData(3004, altitude .. " ft" .. "\n" .. dial_altimeterPressure .. " mbar")--mbar == hpa. really! + ExportScript.Tools.SendData(3004, "Altitude\n" .. altitude .. " ft" .. "\n" .. dial_altimeterPressure .. " mbar")--mbar == hpa. really! end +function ExportScript.BestPowerTiles(mainPanelDevice) + ExportScript.Tools.SendData(3005, "Takeoff 5" .. "\n" .. "RPM 3000\nBoost 12\nAlt 305") + ExportScript.Tools.SendData(3006, "Combat 5" .. "\n" .. "RPM 3000\nBoost 18\nAlt 5.5/16.2") + ExportScript.Tools.SendData(3007, "Nominal 60" .. "\n" .. "RPM 2850\nBoost 12\nAlt 9/19") + ExportScript.Tools.SendData(3008, "Cruse" .. "\n" .. "RPM 2650\nBoost 7\nAlt 12/20.7") +end + +function ExportScript.bestClimb(mainPanelDevice) + + local dial_altimeter_tenThousands = math.floor(mainPanelDevice:get_argument_value(28) * 100000)--altitude + local efficientAirspeed + if dial_altimeter_tenThousands < 12000 then + efficientAirspeed = 185 + elseif dial_altimeter_tenThousands < 15000 then + efficientAirspeed = 180 + elseif dial_altimeter_tenThousands < 20000 then + efficientAirspeed = 170 + elseif dial_altimeter_tenThousands < 25000 then + efficientAirspeed = 160 + elseif dial_altimeter_tenThousands < 30000 then + efficientAirspeed = 150 + elseif dial_altimeter_tenThousands < 33000 then + efficientAirspeed = 140 + elseif dial_altimeter_tenThousands < 37000 then + efficientAirspeed = 130 + elseif dial_altimeter_tenThousands < 40000 then + efficientAirspeed = 120 + else + efficientAirspeed = 110 + end + ExportScript.Tools.SendData(3009, "Climb" .. "\n" .. "RPM 2650\nBoost 7\n" .. efficientAirspeed .. " mph") + ExportScript.Tools.SendData(2012, "Efficient\nClimb\n" .. efficientAirspeed .. " mph") +end + +function ExportScript.gunnerTile(mainPanelDevice) + local dial_gunnerWingspan = mainPanelDevice:get_argument_value(78) + dial_gunnerWingspan = (-75.229 * dial_gunnerWingspan) + 100.51 + dial_gunnerWingspan = round(dial_gunnerWingspan,0) + ExportScript.Tools.SendData(2013, "Gun\nWingspan\n" .. dial_gunnerWingspan .. " ft") + + local dial_gunnerRange = mainPanelDevice:get_argument_value(77) + dial_gunnerRange = (301.1 * dial_gunnerRange * dial_gunnerRange) + + (243.06 * dial_gunnerRange) + + (149.68) + dial_gunnerRange = round(dial_gunnerRange,-1) + ExportScript.Tools.SendData(2014, "Gun\nRange\n" .. dial_gunnerRange .. " ft") + + --Wingspan in feet + local v1_wingspanFt = 19 + local I16_wingspanFt = 30 + local BF109_wingspanFt = 32 + local Fw190_wingspanFt = 34 + local spitfire_wingspanFt = 32 + local P40P51_wingspanFt = 51 + local P47_wingspanFt = 41 + local mosquito_wingspanFt = 54 + local B17G_wingspanFt = 104 + + local optimalTargetWidthName + + if dial_gunnerWingspan >= (v1_wingspanFt - 1) and dial_gunnerWingspan <= (v1_wingspanFt + 1) then + optimalTargetWidthName = "V1" + elseif dial_gunnerWingspan >= (I16_wingspanFt - 1) and dial_gunnerWingspan <= (I16_wingspanFt + 1) then + optimalTargetWidthName = "I-16" + elseif dial_gunnerWingspan >= (BF109_wingspanFt - 1) and dial_gunnerWingspan <= (BF109_wingspanFt + 1) then + optimalTargetWidthName = "BF109" + elseif dial_gunnerWingspan >= (Fw190_wingspanFt - 1) and dial_gunnerWingspan <= (Fw190_wingspanFt + 1) then + optimalTargetWidthName = "Fw109" + elseif dial_gunnerWingspan >= (spitfire_wingspanFt - 1) and dial_gunnerWingspan <= (spitfire_wingspanFt + 1) then + optimalTargetWidthName = "Spitfire" + elseif dial_gunnerWingspan >= (P40P51_wingspanFt - 1) and dial_gunnerWingspan <= (P40P51_wingspanFt + 1) then + optimalTargetWidthName = "P-40/51" + elseif dial_gunnerWingspan >= (P47_wingspanFt - 1) and dial_gunnerWingspan <= (P47_wingspanFt + 1) then + optimalTargetWidthName = "P-47" + elseif dial_gunnerWingspan >= (mosquito_wingspanFt - 1) and dial_gunnerWingspan <= (mosquito_wingspanFt + 1) then + optimalTargetWidthName = "Mossie" + elseif dial_gunnerWingspan >= (B17G_wingspanFt - 1) and dial_gunnerWingspan <= (B17G_wingspanFt + 1) then + optimalTargetWidthName = "B-17G" + else + optimalTargetWidthName = "Tgt - N/A" + end + + ExportScript.Tools.SendData(2015, "Optimal\nTarget\n" .. optimalTargetWidthName) + + ExportScript.Tools.SendData(3010, "Gun Sight\nRng " .. dial_gunnerRange .. " ft\n" .. + "Base " .. dial_gunnerWingspan .. " ft\n" .. + "" .. optimalTargetWidthName) +end + + ----------------------- -- General Functions -- -----------------------