Added example mission

This commit is contained in:
Pax1601 2022-12-21 22:50:11 +01:00
parent de055c5a98
commit 92eab6fd41
3 changed files with 26 additions and 28 deletions

BIN
missions/Olympus.miz Normal file

Binary file not shown.

View File

@ -10,28 +10,29 @@ function Olympus.loadDLLs()
-- Add the .dll paths
package.cpath = package.cpath..';'..Olympus.OlympusModPath..'?.dll;'
log.write('Olympus.EXPORT.LUA', log.INFO, 'Loading cpprest_2_10.dll from ['..Olympus.OlympusModPath..']')
pcall(require, 'cpprest_2_10')
log.write('Olympus.EXPORT.LUA', log.INFO, 'Loading hook.dll from ['..Olympus.OlympusModPath..']')
local status
pcall(require, 'logger')
pcall(require, 'luatools')
pcall(require, 'dcstools')
status, Olympus.OlympusDLL = pcall(require, 'hook')
if not status then
log.write('Olympus.HOOKS.LUA', log.INFO, 'Loading olympus.dll from ['..Olympus.OlympusModPath..']')
status, Olympus.OlympusDLL = pcall(require, 'olympus')
if status then
log.write('Olympus.HOOKS.LUA', log.INFO, 'olympus.dll loaded successfully')
return true
else
log.write('Olympus.HOOKS.LUA', log.ERROR, 'Error loading olympus.dll: '..Olympus.OlympusDLL)
return false
end
return true
end
do
if isOlympusModuleInitialized~=true then
local OlympusName = 'Olympus 0.0.1 C++ module'
local OlympusName = 'Olympus 0.0.1 C++ module';
isOlympusModuleInitialized=true;
Olympus.loadDLLs()
log.write('Olympus.EXPORT.LUA', log.INFO, OlympusName..' successfully loaded.')
Olympus.DLLsloaded = Olympus.loadDLLs()
if Olympus.DLLsloaded then
log.write('Olympus.EXPORT.LUA', log.INFO, OlympusName..' successfully loaded.')
else
log.write('Olympus.EXPORT.LUA', log.ERROR, 'Failed to load '..OlympusName)
end
else
log.write('Olympus.EXPORT.LUA', log.INFO, 'hook.dll already initialized')
log.write('Olympus.EXPORT.LUA', log.INFO, 'olympus.dll already initialized')
end
end

View File

@ -6,41 +6,38 @@ Olympus.OlympusModPath = os.getenv('DCSOLYMPUS_PATH')..'\\bin\\'
log.write('Olympus.HOOKS.LUA', log.INFO,'Executing OlympusHook.lua')
function loadDLLs()
function Olympus.loadDLLs()
-- Add the .dll paths
package.cpath = package.cpath..';'..Olympus.OlympusModPath..'?.dll;'
log.write('Olympus.HOOKS.LUA', log.INFO, 'Loading cpprest_2_10.dll from ['..Olympus.OlympusModPath..']')
pcall(require, 'cpprest_2_10')
log.write('Olympus.HOOKS.LUA', log.INFO, 'Loading hook.dll from ['..Olympus.OlympusModPath..']')
local status
pcall(require, 'logger')
pcall(require, 'luatools')
pcall(require, 'dcstools')
status, Olympus.OlympusDLL = pcall(require, 'hook')
if not status then
log.write('Olympus.HOOKS.LUA', log.INFO, 'Loading olympus.dll from ['..Olympus.OlympusModPath..']')
status, Olympus.OlympusDLL = pcall(require, 'olympus')
if status then
log.write('Olympus.HOOKS.LUA', log.INFO, 'olympus.dll loaded successfully')
return true
else
log.write('Olympus.HOOKS.LUA', log.ERROR, 'Error loading olympus.dll: '..Olympus.OlympusDLL)
return false
end
return true
end
do
if isOlympusModuleInitialized~=true then
local OlympusName = 'Olympus 0.0.1 C++ module';
Olympus.loadDLLs();
-- Register callbacks
local OlympusCallbacks = {}
function OlympusCallbacks.onSimulationStart()
log.write('Olympus.HOOKS.LUA', log.INFO,OlympusName..' onSimulationStart')
if DCS.isServer() then
Olympus.DLLsloaded = loadDLLs()
Olympus.DLLsloaded = Olympus.loadDLLs()
if Olympus.DLLsloaded then
Olympus.OlympusDLL.onSimulationStart()
log.write('Olympus.HOOKS.LUA', log.INFO, OlympusName..' successfully loaded.')
else
log.write('Olympus.HOOKS.LUA', log.ERROR, 'Failed to load '..OlympusName..'.')
log.write('Olympus.HOOKS.LUA', log.ERROR, 'Failed to load '..OlympusName)
end
end
end