Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable compile without DCS #269

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/release-openbeta.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ jobs:
with:
luaVersion: "5.1.5"

- name: compile
run: |
lua ./Scripts/DCS-BIOS/test/compile/LocalCompile.lua

- name: test
run: |
lua ./Scripts/DCS-BIOS/test/TestSuite.lua
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ jobs:
with:
luaVersion: "5.1.5"

- name: compile
run: |
lua ./Scripts/DCS-BIOS/test/compile/LocalCompile.lua

- name: test
run: |
lua ./Scripts/DCS-BIOS/test/TestSuite.lua
142 changes: 72 additions & 70 deletions Scripts/DCS-BIOS/BIOS.lua
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
BIOS = {}
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\AircraftList.lua]])
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/AircraftList.lua]])

BIOSdevMode = 1 -- 1 DevMode / 0 UserMode

BIOS.dbg = {}
BIOS.logfile = io.open(lfs.writedir()..[[Logs\DCS-BIOS.log]], "w")
BIOS.logfile = io.open(lfs.writedir()..[[Logs/DCS-BIOS.log]], "w")
function BIOS.log(str)
if BIOS.logfile then
BIOS.logfile:write(str.."\n")
Expand All @@ -16,105 +16,107 @@ end
package.path = package.path..";.\\LuaSocket\\?.lua"
package.cpath = package.cpath..";.\\LuaSocket\\?.dll"

package.path = lfs.writedir() .. [[Scripts\DCS-BIOS\?.lua;]] .. package.path
package.path = lfs.writedir() .. [[Scripts\DCS-BIOS\lib\?.lua;]] .. package.path
package.path = lfs.writedir() .. [[Scripts\DCS-BIOS\lib\io\?.lua;]] .. package.path
package.path = lfs.writedir() .. [[Scripts/DCS-BIOS/?.lua;]] .. package.path
package.path = lfs.writedir() .. [[Scripts/DCS-BIOS/lib/?.lua;]] .. package.path
package.path = lfs.writedir() .. [[Scripts/DCS-BIOS/lib/io/?.lua;]] .. package.path

package.path = lfs.writedir() .. [[Scripts\DCS-BIOS\?.lua;]] .. package.path
package.path = lfs.writedir() .. [[Scripts\DCS-BIOS\lib\?.lua;]] .. package.path
package.path = lfs.writedir() .. [[Scripts\DCS-BIOS\lib\io\?.lua;]] .. package.path
package.path = lfs.writedir() .. [[Scripts\DCS-BIOS\lib\modules\?.lua;]] .. package.path
package.path = lfs.writedir() .. [[Scripts\DCS-BIOS\lib\modules\aircraft_modules\?.lua;]] .. package.path
package.path = lfs.writedir() .. [[Scripts\DCS-BIOS\lib\modules\common_modules\?.lua;]] .. package.path
package.path = lfs.writedir() .. [[Scripts\DCS-BIOS\lib\modules\documentation\?.lua;]] .. package.path
package.path = lfs.writedir() .. [[Scripts\DCS-BIOS\lib\modules\memory_map\?.lua;]] .. package.path
package.path = lfs.writedir() .. [[Scripts/DCS-BIOS/?.lua;]] .. package.path
package.path = lfs.writedir() .. [[Scripts/DCS-BIOS/lib/?.lua;]] .. package.path
package.path = lfs.writedir() .. [[Scripts/DCS-BIOS/lib/io/?.lua;]] .. package.path
package.path = lfs.writedir() .. [[Scripts/DCS-BIOS/lib/modules/?.lua;]] .. package.path
package.path = lfs.writedir() .. [[Scripts/DCS-BIOS/lib/modules/aircraft_modules/?.lua;]] .. package.path
package.path = lfs.writedir() .. [[Scripts/DCS-BIOS/lib/modules/common_modules/?.lua;]] .. package.path
package.path = lfs.writedir() .. [[Scripts/DCS-BIOS/lib/modules/documentation/?.lua;]] .. package.path
package.path = lfs.writedir() .. [[Scripts/DCS-BIOS/lib/modules/memory_map/?.lua;]] .. package.path

dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\common\common.lua]])
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\Util.lua]])
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\ProtocolIO.lua]])
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\Protocol.lua]])
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\MetadataEnd.lua]])
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\MetadataStart.lua]])
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\CommonData.lua]])
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\DigitalDisplay.lua]])
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\TextDisplay.lua]])
local json = loadfile([[Scripts/JSON.lua]]) -- try to load json from dcs
BIOS.json = json and json() or require "JSON" -- if that fails, fall back to module that we can define

dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/Util.lua]])
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/ProtocolIO.lua]])
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/Protocol.lua]])
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/MetadataEnd.lua]])
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/MetadataStart.lua]])
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/CommonData.lua]])
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/DigitalDisplay.lua]])
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/TextDisplay.lua]])
----------------------------------------------------------------------------Modules Start------------------------------------
-- Following text: Example (case sensitive!): -- ID = x, ProperName = <pretty name>
-- is used by DCSFlightpanels GUI to pick up DCS-BIOS modules
-- ID range 1-3 is used internally in DCSFlightpanels. New modules must have an uniques ID.

dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\A-10C.lua]]) -- ID = 5, ProperName = A-10C Thunderbolt/II
-- dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\A-29B.lua]]) -- ID = 41, ProperName = A-29B Super Tucano
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/A-10C.lua]]) -- ID = 5, ProperName = A-10C Thunderbolt/II
-- dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/A-29B.lua]]) -- ID = 41, ProperName = A-29B Super Tucano
local A_29B = require "A-29B"
BIOS.protocol.writeNewModule(A_29B)
-- dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\A-4E-C.lua]]) -- ID = 6, ProperName = A-4E Skyhawk
-- dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/A-4E-C.lua]]) -- ID = 6, ProperName = A-4E Skyhawk
local A_4E_C = require "A-4E-C"
BIOS.protocol.writeNewModule(A_4E_C)
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\AH-6J.lua]]) -- ID = 7, ProperName = AH-6J Littlebird
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\AH-64D.lua]]) -- ID = 46, ProperName = AH-64D Apache
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\AJS37.lua]]) -- ID = 8, ProperName = AJS-37 Viggen
-- dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\Alphajet.lua]]) -- ID = 9, ProperName = Alphajet
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/AH-6J.lua]]) -- ID = 7, ProperName = AH-6J Littlebird
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/AH-64D.lua]]) -- ID = 46, ProperName = AH-64D Apache
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/AJS37.lua]]) -- ID = 8, ProperName = AJS-37 Viggen
-- dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/Alphajet.lua]]) -- ID = 9, ProperName = Alphajet
local Alphajet = require "Alphajet"
BIOS.protocol.writeNewModule(Alphajet)
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\AV8BNA.lua]]) -- ID = 10, ProperName = AV-8B Night Attack
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\Bf-109K-4.lua]]) -- ID = 11, ProperName = Bf 109 K-4 Kurfurst
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\C-101.lua]]) -- ID = 12, ProperName = C-101 Aviojet
-- dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\Christen Eagle II.lua]]) -- ID = 14, ProperName = Christen Eagle II
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/AV8BNA.lua]]) -- ID = 10, ProperName = AV-8B Night Attack
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/Bf-109K-4.lua]]) -- ID = 11, ProperName = Bf 109 K-4 Kurfurst
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/C-101.lua]]) -- ID = 12, ProperName = C-101 Aviojet
-- dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/Christen Eagle II.lua]]) -- ID = 14, ProperName = Christen Eagle II
local Christen_Eagle_II = require "Christen Eagle II"
BIOS.protocol.writeNewModule(Christen_Eagle_II)
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\Edge540.lua]]) -- ID = 15, ProperName = Edge 540
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\F-14.lua]]) -- ID = 16, ProperName = F-14A/B Tomcat
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\F-15E.lua]]) -- ID = 44, ProperName = F-15E Strike Eagle
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\F-16C_50.lua]]) -- ID = 17, ProperName = F-16C Viper
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\F-22A.lua]]) -- ID = 40, ProperName = F-22A Raptor
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\F-5E-3.lua]]) -- ID = 18, ProperName = F-5E Tiger II
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\F-86F Sabre.lua]]) -- ID = 19, ProperName = F-86F Sabre
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\FA-18C_hornet.lua]]) -- ID = 20, ProperName = F/A-18C Hornet
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\FC3.lua]]) -- ID = 4, ProperName = Flaming Cliffs 3
-- dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\FW-190A8.lua]]) -- ID = 21, ProperName = Fw 190 A-8 Anton
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/Edge540.lua]]) -- ID = 15, ProperName = Edge 540
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/F-14.lua]]) -- ID = 16, ProperName = F-14A/B Tomcat
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/F-15E.lua]]) -- ID = 44, ProperName = F-15E Strike Eagle
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/F-16C_50.lua]]) -- ID = 17, ProperName = F-16C Viper
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/F-22A.lua]]) -- ID = 40, ProperName = F-22A Raptor
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/F-5E-3.lua]]) -- ID = 18, ProperName = F-5E Tiger II
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/F-86F Sabre.lua]]) -- ID = 19, ProperName = F-86F Sabre
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/FA-18C_hornet.lua]]) -- ID = 20, ProperName = F/A-18C Hornet
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/FC3.lua]]) -- ID = 4, ProperName = Flaming Cliffs 3
-- dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/FW-190A8.lua]]) -- ID = 21, ProperName = Fw 190 A-8 Anton
local FW_190A8 = require "FW-190A8"
BIOS.protocol.writeNewModule(FW_190A8)
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\FW-190D9.lua]]) -- ID = 22, ProperName = Fw 190 D-9 Dora
-- dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\I-16.lua]]) -- ID = 23, ProperName = I-16
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/FW-190D9.lua]]) -- ID = 22, ProperName = Fw 190 D-9 Dora
-- dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/I-16.lua]]) -- ID = 23, ProperName = I-16
local I_16 = require "I-16"
BIOS.protocol.writeNewModule(I_16)
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\JF-17.lua]]) -- ID = 24, ProperName = JF-17 Thunder
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\Ka-50.lua]]) -- ID = 25, ProperName = Ka-50 Black Shark/III
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\L-39.lua]]) -- ID = 26, ProperName = L-39 Albatros
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\M-2000C.lua]]) -- ID = 27, ProperName = M-2000C
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\MB-339.lua]]) -- ID = 28, ProperName = MB-339A/PAN
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\Mi-8MT.lua]]) -- ID = 29, ProperName = Mi-8MT
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\Mi-24P.lua]]) -- ID = 42, ProperName = Mi-24P HIND
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\MirageF1.lua]]) -- ID = 13, ProperName = Mirage F1
-- dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\Mig-15bis.lua]]) -- ID = 30, ProperName = MiG-15bis
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/JF-17.lua]]) -- ID = 24, ProperName = JF-17 Thunder
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/Ka-50.lua]]) -- ID = 25, ProperName = Ka-50 Black Shark/III
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/L-39.lua]]) -- ID = 26, ProperName = L-39 Albatros
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/M-2000C.lua]]) -- ID = 27, ProperName = M-2000C
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/MB-339.lua]]) -- ID = 28, ProperName = MB-339A/PAN
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/Mi-8MT.lua]]) -- ID = 29, ProperName = Mi-8MT
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/Mi-24P.lua]]) -- ID = 42, ProperName = Mi-24P HIND
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/MirageF1.lua]]) -- ID = 13, ProperName = Mirage F1
-- dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/MiG-15bis.lua]]) -- ID = 30, ProperName = MiG-15bis
local MiG_15bis = require "MiG-15bis"
BIOS.protocol.writeNewModule(MiG_15bis)
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\Mig-19P.lua]]) -- ID = 31, ProperName = MiG-19P Farmer
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\Mig-21Bis.lua]]) -- ID = 32, ProperName = MiG-21bis
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\Mosquito.lua]]) -- ID = 45, ProperName = Mosquito FB Mk. VI
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\NS430.lua]]) -- ID = 33, ProperName = NS 430 GPS
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\P-47D.lua]]) -- ID = 34, ProperName = P-47D Thunderbolt
-- dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\P-51D.lua]]) -- ID = 35, ProperName = TF/P-51D Mustang
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/MiG-19P.lua]]) -- ID = 31, ProperName = MiG-19P Farmer
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/MiG-21Bis.lua]]) -- ID = 32, ProperName = MiG-21bis
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/Mosquito.lua]]) -- ID = 45, ProperName = Mosquito FB Mk. VI
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/NS430.lua]]) -- ID = 33, ProperName = NS 430 GPS
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/P-47D.lua]]) -- ID = 34, ProperName = P-47D Thunderbolt
-- dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/P-51D.lua]]) -- ID = 35, ProperName = TF/P-51D Mustang
local P_51D = require "P-51D"
BIOS.protocol.writeNewModule(P_51D)
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\SA342.lua]]) -- ID = 36, ProperName = SA342 Gazelle
-- dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\SpitfireLFMkIX.lua]]) -- ID = 37, ProperName = Spitfire LF Mk. IX
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/SA342.lua]]) -- ID = 36, ProperName = SA342 Gazelle
-- dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/SpitfireLFMkIX.lua]]) -- ID = 37, ProperName = Spitfire LF Mk. IX
local SpitfireLFMkIX = require "SpitfireLFMkIX"
BIOS.protocol.writeNewModule(SpitfireLFMkIX)
--dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\SuperCarrier.lua]])
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\UH-1H.lua]]) -- ID = 38, ProperName = UH-1H Huey
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\VNAO_Room.lua]])
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\VNAO_T-45.lua]]) -- ID = 43, ProperName = T-45 Goshawk
-- dofile(lfs.writedir()..[[Scripts\DCS-BIOS\lib\Yak-52.lua]]) -- ID = 39, ProperName = Yak-52
--dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/SuperCarrier.lua]])
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/UH-1H.lua]]) -- ID = 38, ProperName = UH-1H Huey
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/VNAO_Room.lua]])
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/VNAO_T-45.lua]]) -- ID = 43, ProperName = T-45 Goshawk
-- dofile(lfs.writedir()..[[Scripts/DCS-BIOS/lib/Yak-52.lua]]) -- ID = 39, ProperName = Yak-52
local Yak_52 = require "Yak-52"
BIOS.protocol.writeNewModule(Yak_52)
----------------------------------------------------------------------------Modules End--------------------------------------
dofile(lfs.writedir()..[[Scripts\DCS-BIOS\BIOSConfig.lua]])
dofile(lfs.writedir()..[[Scripts/DCS-BIOS/BIOSConfig.lua]])

--Saves aliases for each aircraft for external programs
local function saveAliases()
local JSON = GetJSON()()
local file, err = io.open(lfs.writedir()..[[Scripts\DCS-BIOS\doc\json\AircraftAliases.json]], "w")
local JSON = BIOS.json
local file, err = io.open(lfs.writedir()..[[Scripts/DCS-BIOS/doc/json/AircraftAliases.json]], "w")
local json_string = JSON:encode_pretty(BIOS.dbg.aircraftNameToModuleNames)
if file then
file:write(json_string)
Expand Down
6 changes: 3 additions & 3 deletions Scripts/DCS-BIOS/lib/A-10C.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1095,8 +1095,8 @@ defineToggleSwitch("ANT_EGIHQTOD", 54, 3017, 708, "Antenna Panel", "EGI HQ TOD S

definePotentiometer("RWR_BRT", 29, 3001, 16, {0.15, 0.85}, "RWR", "Display Brightness")

local JSON = GetJSON()()
local cdu_indicator_data_file = io.open(lfs.writedir()..[[Scripts\DCS-BIOS\src\json\A-10C_CDU.json]], "r")
local JSON = BIOS.json
local cdu_indicator_data_file = io.open(lfs.writedir()..[[Scripts/DCS-BIOS/src/json/A-10C_CDU.json]], "r")
local cdu_indicator_data

if(cdu_indicator_data_file ~= nil) then
Expand Down Expand Up @@ -1193,7 +1193,7 @@ defineString("CDU_LINE8", function() return cdu_lines[9] end, CDU_LINE_LEN, "CDU
defineString("CDU_LINE9", function() return cdu_lines[10] end, CDU_LINE_LEN, "CDU Display", "CDU Line 10")

local arcItems = {}
local arc_210_data_file = io.open(lfs.writedir()..[[Scripts\DCS-BIOS\src\json\A-10C_ARC-210.json]], "r")
local arc_210_data_file = io.open(lfs.writedir()..[[Scripts/DCS-BIOS/src/json/A-10C_ARC-210.json]], "r")

local arc_210_data
if(arc_210_data_file ~= nil) then
Expand Down
4 changes: 2 additions & 2 deletions Scripts/DCS-BIOS/lib/AH-64D.lua
Original file line number Diff line number Diff line change
Expand Up @@ -403,8 +403,8 @@ definePotentiometer("CPG_KU_BRT", 30, 3050, 621, {0, 1}, "CPG Keyboard Unit", "G
defineString("CPG_KU_DISPLAY", function() return txt_CPG_KU end, 22, "CPG Keyboard Unit", "Gunner Keyboard Unit Display")

-- Enhanced Up-Front Display
local JSON = GetJSON()()
local eufd_indicator_data_file = io.open(lfs.writedir()..[[Scripts\DCS-BIOS\src\json\AH-64D_EUFD.json]], "r")
local JSON = BIOS.json
local eufd_indicator_data_file = io.open(lfs.writedir()..[[Scripts/DCS-BIOS/src/json/AH-64D_EUFD.json]], "r")
local eufd_indicator_data
if(eufd_indicator_data_file ~= nil) then
eufd_indicator_data = JSON:decode(eufd_indicator_data_file:read("*a"))
Expand Down
8 changes: 4 additions & 4 deletions Scripts/DCS-BIOS/lib/Protocol.lua
Original file line number Diff line number Diff line change
Expand Up @@ -59,14 +59,14 @@ end
function BIOS.protocol.endModule()
if BIOSdevMode == 1 then
local function saveDoc()
local JSON = GetJSON()()
local file, err = io.open(lfs.writedir()..[[Scripts\DCS-BIOS\doc\json\]]..moduleBeingDefined.name..".json", "w")
local JSON = BIOS.json
local file, err = io.open(lfs.writedir()..[[Scripts/DCS-BIOS/doc/json/]]..moduleBeingDefined.name..".json", "w")
local json_string = JSON:encode_pretty(moduleBeingDefined.documentation)
if file then
file:write(json_string)
file:close()
end
local file, err = io.open(lfs.writedir()..[[Scripts\DCS-BIOS\doc\json\]]..moduleBeingDefined.name..".jsonp", "w")
local file, err = io.open(lfs.writedir()..[[Scripts/DCS-BIOS/doc/json/]]..moduleBeingDefined.name..".jsonp", "w")
if file then
file:write('docdata["'..moduleBeingDefined.name..'"] =\n')
file:write(json_string)
Expand All @@ -77,7 +77,7 @@ function BIOS.protocol.endModule()
local function saveAddresses()
local moduleName = moduleBeingDefined.name

local path = lfs.writedir()..[[Scripts\DCS-BIOS\doc\Addresses.h]]
local path = lfs.writedir()..[[Scripts/DCS-BIOS/doc/Addresses.h]]
local existingDefines = {}
local lineOrder = {} -- To maintain the order of lines

Expand Down
9 changes: 0 additions & 9 deletions Scripts/DCS-BIOS/lib/common/common.lua

This file was deleted.

27 changes: 10 additions & 17 deletions Scripts/DCS-BIOS/test/compile/LocalCompile.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,17 @@
-- additional lua modules such as socket etc.
-- Execute => lua LocalCompile-lua or run it via VS Code task

local dcs_variant = "DCS"
DCS_USER_DIR_ROOT = os.getenv("USERPROFILE") .. "\\Saved Games\\" .. dcs_variant .. "\\"
package.path = "./Scripts/DCS-BIOS/test/compile/?.lua;" .. package.path
package.path = "./Scripts/DCS-BIOS/test/ext/?.lua;" .. package.path
package.path = "./Scripts/DCS-BIOS/test/io/?.lua;" .. package.path

lfs = {}
---@diagnostic disable-next-line: duplicate-set-field
lfs.writedir = function()
return DCS_USER_DIR_ROOT
--- @func Returns the simulation time
--- @return number
function LoGetModelTime()
return 0
end

-- Include these that will mock the DCS APIs and the socket.
dofile(lfs.writedir() .. [[Scripts\my_dcs_location.lua]])
dofile(lfs.writedir() .. [[Scripts\DCS-BIOS\test\compile\DCS_API_mocks.lua]])
dofile(lfs.writedir() .. [[Scripts\DCS-BIOS\test\compile\socket.lua]])
dofile(lfs.writedir() .. [[Scripts\DCS-BIOS\BIOS.lua]])

-- READ THIS!
-- Create the file my_dcs_location.lua under Scripts
-- Here you specify your location of your DCS installation
-- Example (without -- in your file):
lfs = require("lfs")

--DCS_INSTALLATION_ROOT = "e:\my games\DCS World"
-- Include these that will mock the DCS APIs and the socket.
dofile([[Scripts/DCS-BIOS/BIOS.lua]])
11 changes: 11 additions & 0 deletions Scripts/DCS-BIOS/test/compile/lfs.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
module("lfs", package.seeall)

---@diagnostic disable-next-line: lowercase-global
lfs = {}

---@diagnostic disable-next-line: duplicate-set-field
lfs.writedir = function()
return "./"
end

return lfs
Loading