1
0
Fork 0
Commit graph

1207 commits

Author SHA1 Message Date
Thomas Geymayer
785a334628 Nasal: fix gui.setCursor without cursor (aka warp) 2014-01-17 01:06:36 +01:00
Thorsten Renk
df82561b75 Separate, non-agricultural texture definition for Grassland landclass, corrsponding fix for correct cloud generation on the landclass in Advanced Weather 2014-01-13 10:54:07 +02:00
Stuart Buchanan
c014e35aec Add ability to clear screen.window, and use it. 2014-01-12 19:52:30 +00:00
Philosopher
7ca8482b07 MapStructure work & (partial) integration
In time for 3.0. The API is still not fully complete, and not fully
cleaned up, but this is good enough for this release cycle (and it
should offer benefit longer term, if not now -- hopefully performance as
well).

Many thanks to Hooray as well, who has helped prepare things while I
could not, and often suggested ideas.
2014-01-09 21:24:22 -06:00
Gijs de Rooy
9af485ad93 Navigation display:
- remove debug prints
- proper ADF/ILS display
- add LCD/CRT option
- fix ranges
2014-01-08 21:45:48 +01:00
Stuart Buchanan
645cfac648 Use separate non-scrolling message display for tutorials. 2014-01-01 23:17:39 +00:00
James Turner
e4ec7a6e56 Fix z/Z key-binding.
Don't require the Environment dialog to have been opened, before
this keybinding works for basic (global) weather.
2014-01-01 21:49:17 +00:00
Gijs de Rooy
2b6964911f Boeing ND:
- add VOR, APP, PLAN and CTR modes.
- add true/mag switch
- display waypoint altitudes
2013-12-28 16:18:35 +01:00
James Turner
163b8ca6d8 Bug 1273, message popups hide timeout ignored.
Stop the tooltip code from prematurely hiding message popups.

https://code.google.com/p/flightgear-bugs/issues/detail?id=1273
2013-12-09 22:02:06 +00:00
Thomas Geymayer
5e2801461c Nasal: use new positioned.diff 2013-12-08 20:34:20 +01:00
Anton Gomez Alvedro
6ae3fae393 Add io.include() function to Nasal base library
io.inlude() loads and executes a Nasal file in place, effectively embedding
the script in the calling namespace. The function adds a symbol mark in the
namespace to avoid duplicate loading.

Additionally, in this path:

 + io.basename() & io.dirname(): Convenience functions for managing path
   strings. Designed after their unix counterparts.

 + string.normpath(): Improved support for relative paths. It can now handle
   paths starting with double dots, like ../../Directory
2013-12-08 11:51:34 -06:00
Thomas Geymayer
4766ed21a6 Nasal: use new built-in props.Node.removeAllChildren()
This require less interaction between Nasal and C++ and
also does not need to create a list of removed children
which was not used anyway. Now it require about 70% less
time to execute.
2013-12-07 13:48:55 +01:00
Gijs de Rooy
c409864dac Navigation display:
- move SVG to Canvas directory
- add basic wxradar
- differentiate between track and heading
- improve altitude arc
- add range arcs
- display correct ETA for next waypoint
2013-12-04 23:22:51 +01:00
mhab
1d9ff30420 Close dialogs with Esc-key 2013-12-02 21:32:05 +01:00
Thomas Geymayer
748f1d4d29 parsesvg: rename canvas.num to canvas.evalCSSNum 2013-12-01 14:05:12 +01:00
Tomash Brechko
2e6ba5f8c0 SVG parser: Add num() wrapper for <rect> attributes. 2013-12-01 14:05:11 +01:00
Gijs de Rooy
a9576e8c8d Canvas Navigational Display:
- get rid of global variables and use instance variables
- identified all important drawing routines and move them into *.draw files
- changed to dynamic loading of *.draw *.model and *.layer files
- implemented poor-man's controller hash to move use-case specific conditionals out of the draw files, and back into the instantiation, i.e. Gijs' EFIS class
- started identifying stuff that is not specific to drawing, but to what is to be drawn, i.e. Model stuff - such as positioned queries, moved those out into *.model files
- some more work on supporting more than a single ND MFD instance per aircraft
- renamed a handful of SVG identifiers to avoid naming conflicts and to simplify usage of SVG IDs as member fields
- moved all of the setlistener setup out of the fdm-initialized stub right into the ctor of the Efis class (actually that's controller stuff...)
- initial MapStructure framework
- aircraft-agnostic NavDisplay class
- preparations for deprecating map.nas
- additions to canvas.map
- preparations for making NDStyles configurable via XML
2013-12-01 13:36:23 +01:00
Philosopher
730145eec0 Add condition axis as per issue 1249 2013-11-05 14:38:43 -06:00
Thomas Geymayer
9687784128 Canvas API: constants for clip-frame reference frames 2013-11-03 21:01:33 +01:00
Thomas Geymayer
fed49956e6 IOrules: add writeable cache directory (for downloaded data) 2013-10-28 12:35:47 +01:00
janodesbois
5ce7d55342 FPS2KT and KT2FPS added to Nasal/global.nas 2013-10-27 13:50:39 +01:00
James Turner
27afea985a Updated UI to configure tooltips, mouse input
Replace the temporary UI with real solutions, in the view dialog
(for tooltips/popups) and a new 'input config' dialog accessed via
the file menu.

Make the mouse-cycle popup explicitly optional since some people
strongly dislike it.
2013-10-25 17:22:12 +01:00
James Turner
74e49dd65d Avoid tooltip breakage when property is nil 2013-10-25 17:19:35 +01:00
Thomas Geymayer
5f54a68491 Canvas: add helper to get parent of canvas.Element 2013-10-23 17:33:12 +02:00
Thomas Geymayer
7e0797b1be svg parser: read line-height 2013-10-20 23:41:19 +02:00
Philosopher
36305939f3 Nasal/*.nas: named arguments
Instead of var (name) = arg[0..n], which doesn't give a "missing
argument" error.
2013-10-20 13:07:09 -05:00
Philosopher
51c66c3df4 Fix defined() implementation 2013-10-20 13:06:51 -05:00
Philosopher
9a3bf2d0a7 Update view.screenWidthCompens
* make into singleton class
* make sure FOV changes take place *immediately* when required
* current FOV is scaled with changes, though being preserved: resizing
  window and going back ends up with the same FOV
2013-10-19 21:27:21 -05:00
Thorsten Renk
23ee32f1ec Changed Nimbostratus placement avoiding the rectangular appearance of tiles 2013-10-17 11:15:48 +03:00
Philosopher
24ab67fa32 Use resolvepath() for canvas SVGs 2013-10-06 11:52:30 -05:00
James Turner
60da2d4da8 Remove items implement natively in Nasal.
mathlib.c now defines more of these. Remaining items (abs, sgn, min, max)
are likely faster using Nasal than switching to C and back again.

Also add a comment about mod(), clarifying that a native fmod() exists.
2013-10-03 17:42:20 +01:00
Philosopher
819aa8a988 Fix for #1185 2013-09-30 13:53:10 -05:00
Philosopher
b4675c62b2 Fix popupTip handling
delay argument was being ignored and popdown didn't work anymore.
2013-09-27 12:09:44 +02:00
Clément de l'Hamaide
6ca29b6fe9 Fix controls.ptt(-1) to controls.ptt(0) in Nasal/joystick.nas 2013-09-24 13:29:37 +02:00
Thomas Geymayer
078e422faa Canvas GUI: check if canvas is valid on resize. 2013-07-27 22:23:00 +02:00
Thomas Geymayer
b8d6997497 Canvas GUI: mouse based window resizing. 2013-07-27 12:58:02 +02:00
Thomas Geymayer
a13add166b Canvas GUI: Basic widget, focus and theming support. 2013-07-27 12:57:52 +02:00
Thomas Geymayer
187883563a Canvas GUI: update window for core change (size -> content-size). 2013-07-27 00:33:08 +02:00
Thomas Geymayer
589d021e1c Canvas API: access to canvas "desktop". 2013-07-25 01:02:37 +02:00
James Turner
43a8b16dab Fix altitude constrain handling.
Thanks to Curt for spotting the issue.
2013-07-22 18:04:14 +01:00
Thomas Geymayer
7bf96db691 canvas.Window: Do not delete canvas on close if other placements exist. 2013-07-21 11:33:47 +02:00
Thomas Geymayer
c8a5c507bc Canvas: Fix placing existing canvas on window.
- Canvas window placements now use 'id' instead of 'index'...
 - Provide Dialog class for backwards compatibilty (but print a
   warning that it will be removed)
2013-07-20 18:10:31 +02:00
Thomas Geymayer
68efae1cd8 canvas.parsesvg: fix handling text without tspan or empty text. 2013-07-20 00:54:42 +02:00
Thomas Geymayer
ce4d7964f6 canvas.parsesvg: Be more tolerant instead of failing.
- Remove 'px' suffix from numbers to be used as valid numbers.
 - Automatically update the rotation center if it the according
   values are present.
 - Fix text only partially set if containing xml entities.
2013-07-15 22:37:05 +02:00
Thomas Geymayer
4a6cbb8ff1 Canvas GUI: set standard alpha blending as default inside windows 2013-07-14 13:44:34 +02:00
Thomas Geymayer
d580464095 Prevent name clash with future canvas.gui namespace. 2013-07-04 21:58:00 +02:00
Thomas Geymayer
eaf4c60cfb Canvas GUI: don't drag window on close button. 2013-06-29 14:49:43 +02:00
Thomas Geymayer
d7d871cc83 Canvas API: do not skip first index for cmds/coords
Start cmd/coord indices really at 0 and allow removing first/last
segment.
2013-06-27 23:16:45 +02:00
Thorsten Renk
9fbb4a2c00 Bugfix preventing visibility from jumping when leaving an Advanced Weather effect volume 2013-06-26 12:33:07 +03:00
Thomas Geymayer
44050c8011 Delay pilot_view_limiter.start after reinit to prevent using wrong heading-offset 2013-06-22 17:11:22 +02:00
Thomas Geymayer
8c23d095b0 Create geo.normdeg180 function 2013-06-17 21:40:29 +02:00
Thomas Geymayer
84b4da563e Inch/Meter conversion factors IN2M/M2I 2013-06-17 21:20:00 +02:00
Thomas Geymayer
35a2045123 Update for core changes 2013-06-14 20:32:14 +02:00
Thomas Geymayer
c759a3e57f Canvas window: allow gc to release resources 2013-06-08 13:08:16 +02:00
Thomas Geymayer
ca5c8463ab Use integer coordinates for placing canvas dialog title 2013-06-07 00:20:09 +02:00
Thomas Geymayer
72e3937ec6 Basic window decorator with title bar and close button.
Extend the canvas.Window class to create a simple window decoration
if a type for it (currently every type maps to the same style) is
given. It supports moving the window by dragging inside the title
bar and setting a window title.
2013-06-06 23:27:11 +02:00
James Turner
246f4e2bac Fix an issue with circular flight-plans.
Hyde identified a problem where the departure and destination
runway are identical; the logic would detect a 'landing' on
activation and immediately deactivate the FP again.
2013-06-01 11:12:23 +01:00
Anders Gidenstam
7b277810a8 Nasal/view.nas: Honour the configured directional offsets on view reset.
Thanks to Patrick Melanson, who noticed the problem and suggested the solution.
2013-05-28 22:35:32 +02:00
Vivian Meazza
d2b384ffad Add ID code to pilot list
Signed-off-by: Vivian Meazza <vivian.meazza@lineone.net>
2013-05-14 17:16:06 +01:00
Ryan M
9b19d5e20e Animated jetways: Remove obsolete use-custom-scenery-data property 2013-05-08 22:39:29 +01:00
Thomas Geymayer
d80722065f Fix path validation (ensure listeners are attached to existing nodes) 2013-04-29 22:27:26 +02:00
Stuart Buchanan
cad64a9711 Normalize angles for bearings on tanker.
Patch from Jean PELLOTIER.
2013-04-12 20:52:04 +01:00
Stuart Buchanan
fd4e61869b Add support for <nasal> blocks in the joystick nasal config library. 2013-04-12 20:24:53 +01:00
Stuart Buchanan
5fc821c4c1 Further AAR improvements:
- Make the A330-MRTT drogues HOT=false so you can't crash into them
- Add offset for the probe on the A-4F
- Correct the deviation due to roll, making it match the piloted aircraft.
2013-04-10 21:53:21 +01:00
Stuart Buchanan
e969dbc8f4 Improve air-to-air refueling by supporting multiple contact points
offset from the tanker center, and an offset probe/recepticle position
on the receiving aircraft.
2013-04-10 21:25:59 +01:00
James Turner
b64dd768d3 Move more high-level GPS logic to Nasal/XML. 2013-04-10 18:52:34 +01:00
James Turner
4d3a00bf68 Use Nasal to provide GPS search functions. 2013-04-10 18:52:34 +01:00
Thorsten Renk
2c6a962a34 Modified cloud lighting with dependence on air pollution 2013-04-09 09:52:19 +03:00
Thorsten Renk
2f01deb6bd Advanced Weather update - new cloud placement algorithms part I 2013-04-09 09:41:27 +03:00
James Turner
7e0a45c798 Tooltips and knobs for the C172P.
This is proof of concept, not a complete conversion.
2013-04-06 17:36:25 +01:00
James Turner
57dd7cb95f Give balloons scenario a load script.
This makes balloons.nas obsolete.
2013-03-28 17:46:13 +00:00
James Turner
4f66ca4a8f Use Tooltip instead of PUI dialog for gui.popupTip.
Hopefully everything works as expected, seems to for the cases I know about (changing view / FoV / visibility).
2013-03-16 12:48:18 +00:00
James Turner
29438e1e7d Message feedback when changing sim speed-up. 2013-03-16 12:48:17 +00:00
James Turner
e740b916d3 Make tooltip also work for on-screen messages.
Required new (in flightgear) Nasal timer to work, so make sure your fg is up-to-date.
2013-03-16 12:48:15 +00:00
James Turner
5c4142ed6d Option to disable mouse-mode feedback.
Drive off the 'show view names' checkbox in the view dialog for now, this might
evolve into a generic 'on-screen hints' control to avoid an explosion of
GUI checkboxes.

Also add a GUI checkbox (oh the irony...) to disable mouse flight-controls, to
keep AndersG and Emilian happy.
2013-03-12 21:45:06 +00:00
Thomas Geymayer
0980f6302a Rework tooltip size calculations to get rid of delayed update. 2013-03-11 19:25:39 +01:00
James Turner
5b84e09572 Fix phantom tooltips, more mapping modes.
Null the tooltip ID in update-hover, regardless of visibility. Avoids later tooltips when picking other (tooltip-less) pickable objects.

Also add two more mapping models for bools: up-down and down-up.
2013-03-11 17:19:32 +00:00
James Turner
7679078aa7 Tooltip tweaks
add a 'heading' mapping mode, normalises to 0..360
support a 'measure text' property used to compute the tooltip size (and hence avoid visual jitter when value is changed)
2013-03-10 10:13:47 +00:00
Thomas Geymayer
226d11b104 Tooltips: Use (hopefully) nice background image for tooltips. 2013-03-09 14:03:33 +01:00
Thomas Geymayer
bf3cd83c61 Canvas API: allow passing image size as vector 2013-03-09 14:03:32 +01:00
James Turner
72a1a0047e Work on tooltips, mouse-input config. 2013-03-08 16:47:00 +00:00
James Turner
6fefc775d7 Ignore tab-switches-mouse-mode if modifiers are set.
Clement confirmed that we're still get the tab key for alt-tab and ctrl-tab, which is bad. Explicitly ignore it for now.
2013-03-08 14:02:19 +00:00
James Turner
ce2d316e6d Tooltip class.
This is work in progress, and not visible without additional patches.
2013-03-07 19:51:06 +00:00
James Turner
f2b984f709 User-interface config dialog.
This is temporary (hopefully!), to allow experimentation with different UX options in the near future. Right now it basically does nothing. As part of this, factor mouse-mode cycling into a separate command, and add some feedback. Feedback mechanism needs work, currently abusing the copilot facility.
2013-03-07 19:36:54 +00:00
Vivian Meazza
9b697adb4f Use z/Z to control Max. Vis. when using Detailed Weather
Signed-off-by: Vivian Meazza <vivian.meazza@lineone.net>
2013-03-02 19:38:50 +00:00
Christian Schmitt
312862271d Position tower on canvas map at the correct place, not at the airport center 2013-03-01 17:16:01 +01:00
Christian Schmitt
0484849b67 Add helipads to the canvas map (grey rectangle for now). 2013-03-01 14:54:33 +01:00
Christian Schmitt
9dff0b4221 Canvas map: cleanup the runway routines. Simplify by using new functions and two runway ends 2013-03-01 14:54:13 +01:00
Thorsten Renk
f2ebbbbc70 Updates to Advanced Weather and cloud shaders - better support for low visibility conditions, improved framerates for Thunderstorm scenario 2013-03-01 09:40:05 +02:00
Christian Schmitt
51936dcff1 Adapt Canvas map to changed runway/taxiway internals 2013-02-28 13:39:07 +01:00
Stuart Buchanan
82f2de2fbc Support <marker> and <page> tags in the conversion of checklists to tutorials. 2013-02-27 22:46:37 +00:00
Stuart Buchanan
0fc2bf56fb Air-to-air refueling enhancements
- Support selectable tankers
- allow configuration of refueling radius, speed
- add optional reporting of contact
2013-02-24 22:34:11 +00:00
Thomas Geymayer
7027c604de Tweak SVG parser id handling of text elements 2013-02-23 20:05:13 +01:00
Thomas Geymayer
71f3f878c6 SVG rect rounded corner and refactor rect helper 2013-02-23 19:19:53 +01:00
Thomas Geymayer
5d54d3c504 Improve SVG/Inkscape text parsing/interpretation 2013-02-23 18:27:35 +01:00
Thomas Geymayer
95109b7b0c Fix parsing multiple SVG transforms and implement scale and rotation 2013-02-23 14:46:26 +01:00
Thorsten Renk
9b6578dcc0 Advanced Weather wind model selection bugfixes 2013-02-11 14:29:15 +02:00
Stuart Buchanan
1539891aa8 Bugfix for aircraft without checklists. 2013-02-09 20:27:05 +00:00
Thomas Geymayer
0bb3a1fe95 Remove CanvasText space hack.
With corrected alginment calculations within latest SimGear this
hack is not needed anymore.
2013-02-09 12:25:28 +01:00
Stuart Buchanan
402627b595 Auto-generate tutorials from checklists. 2013-02-07 22:14:19 +00:00
Anders Gidenstam
235c21985e Nasal/scenery.nas: Handle joining/leaving the MP network at run time. 2013-02-03 19:27:47 +01:00
Anders Gidenstam
7ef68c310a Nasal/mp_broadcast.nas: Handle joining/leaving the MP network at run time. 2013-02-03 19:27:35 +01:00
Emilian Huminiuc
e8bcd26450 Fix shader dialog.
Signed-off-by: Emilian Huminiuc <emilianh@gmail.com>
2013-02-01 13:21:58 +02:00
Thomas Geymayer
4374ab0ce8 Use new built-in string functions 2013-01-31 22:56:43 +01:00
Thomas Geymayer
8b3fa6f2fe Fix std.string handling out of range indices in search methods 2013-01-31 20:20:36 +01:00
James Turner
124017a696 GUI: switch to internal file dialog interface.
This should give no visible change on platforms other than Mac. On Mac file-dialogs (open, save, choose dir) are now Cocoa native panels, not PUI. If someone wants to create a Windows equivalent, the API is pretty trivial.
2013-01-26 14:16:00 +00:00
Thorsten Renk
1c9f110192 Replace Nasal loop for camera altitude computation by property rule 2013-01-25 14:55:58 +02:00
Stuart Buchanan
840595fa8d Add support for the Fuel and payload dialog to display the maximum arrested landing weight. Useful for carrier aircraft. 2013-01-22 21:35:33 +00:00
Thomas Geymayer
91ae186330 Canvas API: draw (rounded) rect and rename Dialog to Window.
- std.string:
   * Add method compare
   * Add method starts_with
 - canvas.Group:
   * Add method rect for drawing (rounded) rectangles
 - Rename canvas.Dialog to canvas.Window to free the name Dialog
   for real dialogs.
2013-01-22 18:02:20 +01:00
Thomas Geymayer
23c72fd53b Fix #956, cleanup canvas map listeners 2013-01-16 23:57:08 +01:00
Thomas Geymayer
ef95c4cf10 parsesvg: fix checking for relative/absolute path 2013-01-11 19:56:42 +01:00
Thorsten Renk
6d8940c4e0 Bugfix creating well-defined starting and re-starting conditions for Advanced Weather precipitation 2013-01-10 13:21:14 +02:00
Thomas Geymayer
73fcf429d0 Canvas/SVG fix calculating transformation center (Group) 2013-01-09 12:14:31 +01:00
Thomas Geymayer
530db2e97a Ensure canvas dialogs clean up all references to canvas ghosts on destruction 2013-01-01 13:16:19 +01:00
James Turner
6612848745 Explicit 'cleared' callback for FP Delegate.
Fix bug 940, where GPS remains in active LEG mode when the route is cleared. (there is an associated flight gear code change). With this fix, the work-around in the GUI dialog is no longer required.
2012-12-31 17:38:18 +00:00
Thomas Geymayer
e9a40e7a79 remove old code (Canvas GUI constants) 2012-12-16 22:36:57 +01:00
Thomas Geymayer
9af21f41c0 Absolute placement for canvas gui dialogs (CSS like right/bottom margin) 2012-12-14 17:25:34 +01:00
Thorsten Renk
28b3d77566 Advanced Weather side fix for precipitation bug 2012-12-13 12:15:21 +02:00
Stuart Buchanan
abcfc2073b Allow users to reset their joystick configuration from the Joystick Configuration dialog. 2012-12-07 22:42:18 +00:00
alexis
2188eb6b75 - Makes the AI tanker visible by the legacy radar.
Signed-off-by: Yeti des neiges (Jano)
2012-12-06 22:59:48 +01:00
Thorsten Renk
ed80612c98 Atmospheric Light Scattering update 2012-12-05 20:31:27 +00:00
Thomas Geymayer
cf27a29da4 Airport dialog: Basic support for drag/zoom with the mouse 2012-12-03 00:39:13 +01:00
Thomas Geymayer
ccee791529 Canvas API: Use more exposed core functions 2012-11-30 17:40:03 +01:00
Thomas Geymayer
10c635752a Use latest core API and fix FG 2.8 support 2012-11-18 23:29:24 +01:00
Emilian Huminiuc
b650a0eb51 Make sure shaders are disabled as long as /sim/rendering/shaders/quality-level is 0 or non existing.
This should help those checking out models in fgviewer
To enable effects in fgviewer run it with:
fgviewer --prop /sim/rendering/shaders/quality-level -1
Also fix random buildings not showing up when model shader was set to 0 and generic was enabled.
Signed-off-by: Emilian Huminiuc <emilianh@gmail.com>
2012-11-18 00:39:02 +02:00
ThorstenB
a8cc15ab73 #600: allow speed-up value to use fractions
Remove restrictions allowing speed-up < 1 for replay mode only.
2012-11-17 20:15:00 +01:00
ThorstenB
6662ba5006 Access checker: properly convert paths to the norm.
The same was already done for fg-root and fg-home paths - it was only
missing for fg-scenery and fg-aircraft paths.
2012-11-16 20:34:32 +01:00
Thomas Geymayer
bc63ff3ea8 Use Canvas and CanvasGroup ghosts provided by fgfs core 2012-11-16 12:35:49 +01:00
Thomas Geymayer
fa97e5ea7a Use core Canvas Nasal helpers 2012-11-15 14:19:09 +01:00
alexis
f069dfdc99 - Revert to previous behavior when changing view which shouldn't trigger a FOV reset. 2012-11-11 17:51:18 +01:00
Thomas Geymayer
7477ffed74 Update Canvas API for latest core changes 2012-11-04 15:15:11 +01:00
Stuart Buchanan
9c6a35012b Manual merge of merge request 95 from Hooray 2012-11-03 22:06:51 +00:00
Thomas Geymayer
7f1117a537 Use new props.addChildren method to speed up 'Select Aiport' dialog 2012-10-14 17:33:31 +02:00
Thomas Geymayer
a15d582937 Use newly exposed props.Node.addChild method 2012-10-13 15:20:27 +02:00
Alexis
bc4371bcd4 view.ScreenWidthCompens() : optional FOV compensation for wider screens.
It keeps an equivalent of 55° FOV on a 4:3 zone centered on the screen
whichever is the screen width/height ratio. Works only if width >= height.
2012-10-04 22:15:52 +02:00
Stuart Buchanan
3656ff92c6 Fix bug where last axis of the joystick was written out with the original bindings of all buttons. 2012-09-29 21:24:12 +01:00
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
Thomas Geymayer
5650e97397 Canvas: Bounding box may not exist 2012-09-25 22:20:39 +02:00
ThorstenB
ecbce19b47 Sound: trigger subsystem reinit instead of relying on property listener.
Disable sound dialog when sound system is globally disabled (command-line/
compile-time).
2012-09-21 21:11:57 +01:00
Stuart Buchanan
60e6be0e0f Improved maps display and Airports dialog
- Display taxiways
- Display different surface types
- control over components (taxiways, parking positions, towers) displayed
- include distance and course to airport.
2012-09-19 22:35:56 +01:00
Stuart Buchanan
d214a6fcf8 Add highlighting of selected runway/parking position. Move tower definition and placement to map.nas. 2012-09-18 19:28:56 +01:00
Thomas Geymayer
d775c221b7 Move map helpers to canvas Nasal module 2012-09-18 13:19:26 +02:00
Stuart Buchanan
602ae34af4 Add support for a Aircraft Checklists GUI item. 2012-09-18 11:29:17 +01:00
Thomas Geymayer
86344dfe57 Canvas: Add method to retrieve all child elements of a group. 2012-09-17 18:16:30 +02:00
ThorstenB
fad306d364 #877: MP chat sometimes not working 2012-09-16 14:00:40 +02:00
Thomas Geymayer
a4af6530e1 Canvas: Fix cubic/scubic typo. 2012-09-04 22:54:53 +02:00
Thomas Geymayer
16890bb5b8 Canvas: Experimental backward support for FlightGear 2.8 2012-09-01 22:37:25 +02:00
Stuart Buchanan
7a3d5dd0bf Updates to the Joystick Configuration dialog. 2012-08-26 21:48:53 +01:00
Stuart Buchanan
4a70a703a8 Add Joystick Configuration dialog, allowing in-sim configuration of joysticks. 2012-08-24 22:53:21 +01:00
Anders Gidenstam
acd0091d9d Updated Wildfire: Added support for synchronized loading of event logs.
A fire log can now be loaded at startup time with, e.g.,
--prop:environment/wildfire/events-file=$HOME/.fgfs/Wildfire/small_fire.xml
(Note: Wildfire is only authorized to load logs from ~/.fgfs/Wildfire .)

Additionally, a time at which the fire starts to evolve (past the event log)
can be specified with, e.g.,
--prop:environment/wildfire/time-hack-gmt='2012:08:23:15:15'

Instances of FlightGear that are started with the same event log and time-hack
should arrive at similar wildfire states (prior to new events).
2012-08-23 23:27:44 +02:00