1
0
Fork 0
fgdata/Nasal
Hooray e510c8917f Canvas Scripting Layer (Mapping):
- first stab at refactoring the map.nas module, and trying to let the API evolve according to our requirements
- split up the module into separate files (some of them will disappear soon)
- split up the "drawing" loops into separate functions so that they can be individually called
- move actual "drawing" to map_layers.nas
- introduce some OOP helpers to prepare a pure Layer-based design
- prepare helpers: LayeredMap, GenericMap, AirportMap (TODO: use a real "Layer" class)
- move airport features (taxiways, runways, parking, tower) to separate layers (i.e. canvas groups)
- avoid using a single update callback and use different layer-specific callbacks to update individual layers more efficiently
- add some boilerplate hashes to prepare the MVC design
- allow lazy updating of layers, where canvas groups are only populated on demand, to save some time during instantiation, i.e. loading an airport without "parking" selected, will only populate the layer once the checkbox is checked
- extend the original code such that it supports showing multiple airports at once
- add some proof of concept "navaid" layer using SVG files for navaid symbols (added only NDB symbol from wikimedia commons)

regressions:
- runway highlighting needs to be re-implemented
- parking highlighting will be done differently
- enforcing a specific drawing order for layers is currently not explicitly supported, so that taxiways may be rendered on top of runways

Also:

- integrated with the latest changes in git/master (HEAD) -i.e. metar support
- further generalized map.nas
- partially moved instantiation from Nasal space to XML space (WIP)
- create "toggle layer" checkboxes procedurally in Nasal space
- prepared the code to be better reusable in other dialogs (e.g. route manager, map dialog etc)
- completely removed the "highlighting" (runway/parking) feature for now, because we talked about re-implementing it anyhow
2012-09-29 21:16:31 +01:00
..
atc-chatter Turn atc-chatter.nas into a separate submodule. 2011-06-05 23:22:12 +02:00
canvas Canvas Scripting Layer (Mapping): 2012-09-29 21:16:31 +01:00
jetways Animated jetways : Fix infinite spawn glitch; Replace various for() loops with foreach() loops 2012-07-10 21:52:37 +02:00
jetways_edit Revert "Add minor pathname correction." 2011-07-16 15:39:41 +02:00
local_weather Advanced Weather v1.5 2012-06-11 20:23:33 +02:00
performance_monitor performance monitor: improve layout 2012-04-09 00:00:13 +02:00
std Canvas: Add a basic SVG parser. 2012-08-02 01:39:59 +02:00
tutorial Correct waiting period for exit statements without conditions, 2012-07-14 20:27:31 +01:00
aircraft.nas Make restore-defaults option also apply to aircraft-specific data 2012-07-15 11:07:23 +02:00
balloons.nas Adjust balloon position on sim-reset 2011-05-27 22:10:52 +02:00
bits.nas string(): make zero padding work if arg is 0 2008-12-22 01:50:48 +00:00
contrail.nas don't use printlog before nasal-dir-initialized 2010-10-13 20:46:31 +02:00
controls.nas #748: keyboard bindings in control.nas must not rely on autopilot 2012-07-01 00:24:23 +02:00
debug.nas Introduce "PRESERVE" flag to protect properties on sim reset. 2011-06-12 20:40:11 +02:00
dynamic_view.nas revert init signal change -- better fix the real problem 2008-12-19 20:52:22 +00:00
environment.nas Fixed some file modes (not executable). 2011-03-27 21:01:43 +02:00
failures.nas Use correct initializer signal. 2012-03-25 10:14:37 +02:00
fuel.nas #705: add sanity checks to fuel tank update 2012-04-22 15:19:20 +02:00
geo.nas Revert "add Model movement" 2012-05-28 10:59:35 +01:00
glide_slope_tunnel.nas fgdata/Nasal: avoid performance drop after sim reset/relocate 2012-03-20 21:18:20 +01:00
globals.nas Nasal/globals.nas: Added a missing var-keyword. 2012-06-12 22:35:37 +02:00
gui.nas Sound: trigger subsystem reinit instead of relying on property listener. 2012-09-21 21:11:57 +01:00
io.nas Nasal IO changes to work with new loadxml features 2011-05-25 21:27:07 +01:00
IOrules Add Joystick Configuration dialog, allowing in-sim configuration of joysticks. 2012-08-24 22:53:21 +01:00
joystick.nas Updates to the Joystick Configuration dialog. 2012-08-26 21:48:53 +01:00
material.nas Use local Nasal vars. Run ATC chatter handler when feature enabled only. 2011-04-02 11:48:39 +02:00
math.nas Added crossfeed valve class to aircraft.nas, extended math.nas with min(), max(), and avg() 2011-04-20 16:25:41 -07:00
mp_broadcast.nas mp_broadcast,scenery: Improved consistency for the shared state. 2011-10-07 23:49:11 +02:00
multikey.nas - let F12 pop up radio settings dialog (used to be Ctrl-r) 2008-10-08 21:59:31 +00:00
multiplayer.nas #877: MP chat sometimes not working 2012-09-16 14:00:40 +02:00
prop_key_handler.nas prop_key_handler: improve search function; update comments 2009-05-06 20:37:40 +00:00
props.nas props.nas: allow "getBoolValue" to work with properties of UNSPECIFIED type. 2012-04-08 23:02:36 +02:00
redout.nas fgdata/Nasal: avoid performance drop after sim reset/relocate 2012-03-20 21:18:20 +01:00
route_manager.nas Add default FlightPlan delegate for the route-manager. 2012-05-15 17:51:48 +01:00
scenery.nas mp_broadcast,scenery: Improved consistency for the shared state. 2011-10-07 23:49:11 +02:00
screen.nas Custom message highlighting 2012-06-15 14:30:02 +01:00
seaport.nas don't use printlog before nasal-dir-initialized 2010-10-13 20:46:31 +02:00
string.nas Nasal/string.nas: Corrected a misspelled variable name. 2012-05-20 22:50:59 +02:00
tanker.nas Add a variant of the tanker request function that produces a tanker with 2011-01-13 16:36:57 -06:00
track_target.nas Only run target-tracker-timer when feature is enabled. 2011-03-27 21:02:26 +02:00
view.nas #669: fix fly-by-view when aircraft skips position 2012-05-03 00:00:56 +02:00
weather_scenario.nas Correct use of getprop() so that --enable-real-weather-fetch works. 2012-06-12 11:09:50 +01:00
wildfire.nas Updated Wildfire: Added support for synchronized loading of event logs. 2012-08-23 23:27:44 +02:00