Howto:Creating a simple modding framework: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
Line 7: Line 7:


== Proof of Concept ==
== Proof of Concept ==
The following snippet of code assumes that you put it into $FG_ROOT/Nasal/mod/mod.nas
In addition, you need to add a folder to $FG_ROOT named '''Mods''', beneath this folder you can add other folders - with each folder being treated as a separate "mod".


<syntaxhighlight lang="nasal">
<syntaxhighlight lang="nasal">
Line 22: Line 24:
print("Mod directory found:", mod);
print("Mod directory found:", mod);
}
}
## invoke:
# init code
# setup  code
# loading code
# clean up code


</syntaxhighlight>
</syntaxhighlight>

Revision as of 21:24, 9 September 2016

This article is a stub. You can help the wiki by expanding it.


Status

Objective

Background

Proof of Concept

The following snippet of code assumes that you put it into $FG_ROOT/Nasal/mod/mod.nas In addition, you need to add a folder to $FG_ROOT named Mods, beneath this folder you can add other folders - with each folder being treated as a separate "mod".

##
# $FG_ROOT/Nasal/mod/mod.nas

var fgroot = getprop("/sim/fg-root");
var modFolder = fgroot ~ '/'~ 'Mods/';
# http://wiki.flightgear.org/Nasal_library#directory.28.29
var modDirectories = directory( modFolder );

# debug.dump( modDirectories );

foreach(var mod; modDirectories) {
print("Mod directory found:", mod);
}

## invoke:
# init code
# setup  code
# loading code
# clean up code