1
0
Fork 0
Commit graph

1116 commits

Author SHA1 Message Date
Hyde Yamakawa
21fe2f4489 Add altitude profile T/C, T/D, S/C and E/D mark on ND route 2014-01-26 12:07:18 -05:00
Philosopher
381aeb918e Canvas ND: keep canvases through reinit
Make fdm listener single-fire, don't listen to /sim/signals/reinit. This
allows the Canvas to stay with the same placement through reinit, after
both the 777 and 747 were having problems. I don't see any reason for
having to recreate it all, and the cleanup function is still there (e.g.
for independent windows, to have their .del() call the ND's .del()).

renamed handle_reinit() -> del()
2014-01-25 21:13:49 -06:00
Philosopher
99fb72d26a Canvas ND: obey traffic switch 2014-01-25 19:24:30 -06:00
Philosopher
a4f289ecee Canvas ND: Do del() on reinit
This also makes sure the /canvas/by-index/canvas[3/4]/ nodes are removed
and then recrated, as well as making sure the MapStructure del() path is
followed and working. Unfortunately the NDs are still blank after reinit.
2014-01-23 21:21:49 -06:00
Thomas Geymayer
e7900e3791 Canvas: remove API for FlightGear 2.8
The old API is not used with newer versions of FG. If an old
version of FG is used, also the according version of fgdata
should be used, which also includes the correct API wrappers.
2014-01-20 23:25:15 +01:00
Philosopher
a3e6108aa1 Fix #1310 - typo in material.nas
A small processing mistake on my part during commit d8b23d94.
2014-01-19 15:52:38 -06:00
Gijs de Rooy
73c2c0c8bb Navigation display: fix map range, hide HDG bug after 10 sec, fix route predicates, fix SVG centers 2014-01-18 15:22:42 +01:00
James Turner
510357492d Bug-fix: cap model shader quality to 1.0
When using the slider, model shader should be capped to 1, not 3.
2014-01-18 08:47:33 +00:00
James Turner
0b6dbe9ad0 Bug-fix: only set AP altitude for 'at' constraint. 2014-01-18 08:45:20 +00:00
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