flightgear-addon-aerotow-ev.../addon-main.nas

59 lines
1.9 KiB
Plaintext
Raw Normal View History

2022-08-13 23:19:24 +08:00
#
# Aerotow Everywhere - Add-on for FlightGear
#
# Written and developer by Roman Ludwicki (PlayeRom, SP-ROM)
#
# Copyright (C) 2022 Roman Ludwicki
#
# Aerotow Everywhere is an Open Source project and it is licensed
# under the GNU Public License v3 (GPLv3)
#
var unload = func(addon) {
# This function is for addon development only. It is called on addon
# reload. The addons system will replace setlistener() and maketimer() to
# track this resources automatically for you.
#
# Listeners created with setlistener() will be removed automatically for you.
# Timers created with maketimer() will have their stop() method called
# automatically for you. You should NOT use settimer anymore, see wiki at
# http://wiki.flightgear.org/Nasal_library#maketimer.28.29
#
# Other resources should be freed by adding the corresponding code here,
# e.g. myCanvas.del();
aerotow.uninit();
thermal.uninit();
2022-08-13 23:19:24 +08:00
}
var main = func(addon) {
print("Aerotow Everywhere add-on initialized from path ", addon.basePath);
# Create $FG_HOME/Export/Addons/org.flightgear.addons.Aerotow directory
2022-08-13 23:19:24 +08:00
addon.createStorageDir();
# Create /AI/FlightPlans/ directory in $FG_HOME/Export/Addons/org.flightgear.addons.Aerotow/
# User has to add the path as --data=$FG_HOME/Export/Addons/org.flightgear.addons.Aerotow
# Then the FG will be able to read flight plan file
var path = os.path.new(addon.storagePath ~ "/AI/FlightPlans/dummy-file.txt");
path.create_dir();
loadExtraNasalFiles(addon);
aerotow.init();
thermal.init();
2022-08-13 23:19:24 +08:00
}
#
# Load extra Nasal files in main add-on directory
#
2022-08-13 23:19:24 +08:00
var loadExtraNasalFiles = func (addon) {
foreach (var scriptName; ["aerotow", "messages", "thermal"]) {
2022-08-13 23:19:24 +08:00
var fileName = addon.basePath ~ "/" ~ scriptName ~ ".nas";
if (io.load_nasal(fileName, scriptName)) {
print("Aerotown Add-on module \"", scriptName, "\" loaded OK");
}
2022-08-13 23:19:24 +08:00
}
}