1
0
Fork 0
Commit graph

1458 commits

Author SHA1 Message Date
janodesbois
12af1482e7 little adjustements for the mp patch 2015-06-09 21:12:48 +02:00
Torsten Dreyer
dabaeea9fa Merge /u/tikibar/flightgear/ branch canvas_tacan into next
http://sourceforge.net/p/flightgear/fgdata/merge-requests/22/
2015-06-09 07:12:46 +00:00
janodesbois
b304d43d49 bug correction to the lag adjust nasal part, did things wrong when
simplifying the code
2015-06-08 18:23:34 +02:00
James Turner
563c098452 Change some Nasal logging to use logprint()
- avoids console output at default (WARN) log level from the C172P
2015-06-08 10:33:31 +01:00
Torsten Dreyer
19fe180e3e Merge commit 'e033ac2f106efd45155341f877242b448dd8ded5' into next
This is merge request #20
MP Patch first step fgdata part: nasal to check wich planes we are
displaying in the futur, with a distance check , one plane each frame.
2015-06-07 21:29:32 +02:00
John Williams
c6eab93660 Add canvas tacan display on VOR and APP modes in addition to MAP mode 2015-06-07 21:15:57 +02:00
artix
b028a8ea13 Some fix 2015-06-06 12:29:36 +02:00
artix
a6fe054946 Airbus style for MapStructure/navdisplay 2015-06-06 12:29:36 +02:00
janodesbois
e033ac2f10 FgData part for the MP patch, we allow lag compensation only if the mp plane
is close enough, we check only one plane each frame
2015-06-06 07:05:05 +02:00
Thomas Geymayer
7c3762108c canvas.gui: editingFinished signal for LineEdit. 2015-06-02 18:27:19 +02:00
Curtis L. Olson
1142bde5e9 Tomaskom writes:
I was playing with the target tracking and decided to fix an old bug that causes it to behave wrong at higher altitudes.

Background: the script continuously updates values in the autopilot to follow specified target aircraft (AI/MP). It is controlled directly through the property tree under /autopilot/target-tracking.

Issue: the script reads out true airspeed, but autopilot expects indicated airspeed. This is why at higher altitudes, the tracking always overshoots.

I fixed this by introducing an estimate on indicated airspeed of the target, using the ratio between local aircraft true and indicated airspeed.
I also fixed an issue where it ignored minimum speed setting and polished initialization by using props.globals.initNode() instead of dedicated presence check for every property (and also ensured the nodes have correct types, no more bool stored as double). And the last thing I changed was to increase the default tracking distance to a more sane value, with the original value of 0.05nm the tracking was unstable in heading with most aircraft and started oscillating.
With the changes I applied, the distance is now holding precisely at any altitude and with any winds.
2015-05-28 10:29:38 -05:00
John Williams
d88a359cd1 Add canvas display for TACAN; improve wind vector direction correction 2015-05-16 13:53:01 +02:00
Stuart Buchanan
b4d16682ce GUI Cleanup from Michael HABARTA. Part 3/3 2015-05-03 17:13:50 +01:00
www2
acb88337f2 add var to fillOpacity and strokeOpacity 2015-04-10 21:09:14 +02:00
www2
7b71a8f361 Add Alpha channel for fill and stroke 2015-04-09 00:51:24 +02:00
Rebecca N. Palmer
60da209425 Remove FG_SCENERY from Nasal allowed directories
This was insecure as Nasal could change it, and appears to be unused
2015-03-13 18:31:38 +00:00
Torsten Dreyer
404fff889b Merge commit 'refs/merge-requests/268' of https://gitorious.org/fg/fgdata into merge-requests/268 2015-02-22 21:49:12 +01:00
Torsten Dreyer
0cfddbcd9d Merge commit 'refs/merge-requests/271' of https://gitorious.org/fg/fgdata into merge-requests/271 2015-02-22 21:42:46 +01:00
Thorsten Renk
a401041637 Tentative bugfix for AW not considering gusty follow-up METAR reports 2015-01-14 10:04:42 +02:00
James Turner
e370899a93 Procedures: be defensive about STAR/approach choice.
Current GUI allows selected mis-matched STAR and approach. Low risk
fix is to detect and deal with this case by just routing direct. Real
fix involves a slicker GUI or inserting a route discontinuity (possible
in FG 3.6 hopefully)
2015-01-10 19:38:29 +00:00
James Turner
f786e57c96 Set new route-path / flightplan control values.
Propagation is done by the FMSDelegate so custom FMS/GPS
systems can trivially replace this behaviour.
2015-01-08 19:48:17 +00:00
Nikolai V. Chr
4b806a36c2 Added possibility to specify position to gui.popupTip 2015-01-04 18:36:18 +01:00
James Turner
da1316a74c Hitch/aertow updates fro D-NXKT
-fix a severe bug which led to unintended hitch releases;
-include the new JSBSim external force location variables;
-improvements for function closeHitch
2015-01-04 08:58:20 +00:00
Thorsten Renk
1ad3944b17 Two minor AW bugfixes - behaviour without terrainsampler restored and gusty winds in METAR corrected 2015-01-02 09:12:44 +02:00
Thomas Geymayer
d930e3f2fa Nasal: std.Vector: add 'contains' method (by onox). 2014-12-23 14:40:29 +01:00
Anton Gomez Alvedro
c108f3b988 Bugfixes and improvements to the Failure Manager
- Fix: runtime exception in remove_failure_mode()
  - Fix: keep failure & trigger status on teleport.
  - Fix: allow random failures from the gui to be enabled/disabled multiple times.
  - Fix: mcbf/mtbf are set to zero when they fire, so they can be reactivated from the gui.
  - Fix: string casts of several trigger types had syntax errors.
  - Usability: screen messages related to failures now use positive logic:
         "condition 100%" instead of "failure level 0%"
  - Performance: Time triggers now use internal timers, instead of requiring being polled.
  - Reviewed Trigger interface for more rational usage. reset() is replaced by arm()/disarm()
  - Added a subscription interface to listen to FailureMgr events.
  - Added an internal log buffer to keep a record of relevant events and present them to gui elements.
  - Several usability improvements to the FailureMgr Nasal API.
2014-12-21 12:39:52 +01:00
James Turner
6a763a0d77 Route-manager: fix approach transitions. 2014-12-19 17:02:55 +00:00
Philosopher
db36387a36 Nasal REPL: integrate with Canvas keyboard
Allows for focusing/unfocusing by clicking on the window or "desktop"
respectively.
2014-11-28 09:29:28 -06:00
Philosopher
c0713db911 Fix screen width compensation
The reason it didn't work for me is that
/sim/rendering/camera-group/camera/viewport/ does not seem to contain
the actual dimensions of the view window... which is odd. Instead I'll
use /sim/startup/[xy]size (and make it into a method so I don't have to
change 3 lines next time :). Now that it works (again), it looks so much
better. Thanks to Alexis Bory for the original idea.
2014-11-27 22:17:22 -06:00
Thomas Geymayer
7b279f1fd7 canvas.gui: ensure all LineEdit/ScrollArea methods are chainable. 2014-11-23 23:35:26 +01:00
syd adams
d9e9a65909 modified gui.nas to enable hiding tank on Fuel dialog 2014-11-19 12:14:18 -07:00
Thorsten Renk
a6ff6a6199 Undulatus-based AW clouds make use of transparency parameter 2014-11-17 13:35:48 +02:00
Thorsten Renk
403c35d544 AW domain-based clouds utilize transparency parameter 2014-11-17 12:59:48 +02:00
Thorsten Renk
4e9ba3e560 Basic ALS + AW infrastructure to use new cloud transparency parameter 2014-11-16 12:28:09 +02:00
Thorsten Renk
4e144a16bb AW uses detailed precipitation control, property rule adjusts precipitation illumination 2014-10-22 11:00:19 +03:00
Thomas Geymayer
33a9b73b5c Add std.Vector wrapper class (by onox). 2014-10-18 01:13:37 +02:00
Thorsten Renk
d1982846e1 AW produces snow when SN is specified in METAR string 2014-10-15 12:49:47 +03:00
Torsten Dreyer
61a6fee0db Canvas svg: use font-style and map LiberationFonts
- interprete the font-style attribute for text
- add a better font-mapper for Liberation Fonts
2014-09-10 16:51:12 +02:00
Thomas Geymayer
fd3bd5da20 canvas.gui: Basic InputDialog and some small tweaks. 2014-09-01 19:31:25 +02:00
Thomas Geymayer
246c480ea3 canvas.gui: Add a basic LineEdit for text input. 2014-08-31 19:40:14 +02:00
Torsten Dreyer
f3058a3f2e Canvas: add support for stroke-linejoin 2014-08-26 00:06:59 +02:00
Thomas Geymayer
2bce958f39 parsesvg: Improved clip and error handling.
- Ignore and warn for unsupported/invalid clip regions.
 - Correctly handle clip 'none'.
 - Use printlog everywhere instead of debug.dump and others.
2014-08-24 13:59:36 +02:00
Thomas Geymayer
a10e9c7b00 canvas.gui: simplify MessageBox and Aircraft center with core changes. 2014-08-05 00:22:14 +02:00
Thomas Geymayer
804b42cfa4 canvas.gui: Window input focus handling. 2014-08-04 23:48:29 +02:00
Thomas Geymayer
67229cbadc canvas.gui: handle visibility changes of widgets. 2014-07-21 00:28:44 +02:00
Thomas Geymayer
8aabd3726a parsesvg: support for rectangular clip/mask. 2014-07-19 21:44:38 +02:00
Thomas Geymayer
59edeea5c3 Aircraft Center: fix aircraft switching log message. 2014-07-12 18:10:36 +02:00
Thomas Geymayer
bb1ab2d975 canvas.gui: let widgets set layout size to allow user defined size hints. 2014-07-12 18:10:36 +02:00
Gijs de Rooy
2452ab0f5c Navdisplay: fix runway symbol 2014-07-12 17:56:48 +02:00
Gijs de Rooy
dd1e0cba46 Navdisplay: fix wind data display, add TCAS messages, move DME/VOR out of update() 2014-07-10 23:07:47 +02:00
Gijs de Rooy
1ba6af1284 Navdisplay:
- set z-index on layers
- correct PLAN range
- hide/show navaids on mode change
- display runway identifier
2014-07-08 12:28:26 +02:00
Gijs de Rooy
573de77cb8 Navdisplay: bug fixed and new features
- Correct z-index
- Add MAP CTR compass
- Fix active WPT color
- Hide wind data at low speeds
- Move code outside main update loop
- Correct ranges
2014-07-06 23:17:47 +02:00
Thomas Geymayer
db27e0972e canvas.Window: move/setSize/setPosition: support coords as vector. 2014-06-30 23:18:48 +02:00
Thomas Geymayer
c75869271e Aircraft Center: fixes for install progress in reopened windows.
Restore install progress indication after closing and reopening
Aircraft Center.
2014-06-30 18:16:22 +02:00
Thomas Geymayer
bc714fa39c canvas.gui: widget focus fixes and clean up. 2014-06-29 12:04:36 +02:00
Thomas Geymayer
f8bbc32d68 Aircraft Center: improve responsiveness.
Only show max 50 aircraft by default and provide a "Show More"
button. This prevents locking the GUI for up to nearly 15 seconds
with showing the list of all aircraft.
2014-06-28 13:18:57 +02:00
Thomas Geymayer
eb01ab7127 canvas.gui.ScrollArea: no need for double update of content size. 2014-06-28 13:18:56 +02:00
Thomas Geymayer
1864153b9a canvas.gui.MessageBox: Ensure path for saving selections exists. 2014-06-26 18:11:41 +02:00
Hyde Yamakawa
ece46ff679 Update canvas map symbols 2014-06-25 21:35:32 -04:00
Thomas Geymayer
15d3e8612d Canvas REPL: update for ScrollArea changes/remove unneeded code. 2014-06-26 00:55:36 +02:00
Thomas Geymayer
0338d82c55 canvas.gui.ScrollArea: fix (wheel) scroll behavior.
Rewrite the way scrolling for ScrollAreas is handled: Store
content position instead of scrollbar positions to keep position
on resize and promote moving the content instead of the contents
to as primary API.
Let the mousewheel scroll by fixed content offset instead of
scrollbar offset to make it actually usable (especially with
low scrolling distance).
2014-06-26 00:50:46 +02:00
Philosopher
b7f0b09df4 Canvas REPL: actually fix copy/paste/continue line 2014-06-24 20:10:32 -05:00
Philosopher
2c3f457281 MapStructure: avoid flickering labels/paths 2014-06-24 14:21:14 -05:00
Philosopher
7207f2e629 Canvas REPL: a few bugfixes 2014-06-24 14:15:42 -05:00
Thomas Geymayer
170079a22e canvas.gui: Draw tooltips on top of other windows/dialogs. 2014-06-24 15:34:03 +02:00
Thomas Geymayer
43f8ce0870 Add props.compileCondition to actually use exposed SGCondition. 2014-06-23 21:12:57 +02:00
Thomas Geymayer
4b00bb3067 canvas.gui: tweak label size hints and text color. 2014-06-23 21:12:26 +02:00
Thomas Geymayer
9e905228ef Nasal: respect color argument for debug._dump_prop 2014-06-21 12:09:34 +02:00
Thomas Geymayer
717c684dad tooltip: better error reporting on failed mapping. 2014-06-21 12:09:33 +02:00
Gijs de Rooy
9b4a1b52a4 Navdisplay: use true airspeed 2014-06-20 21:52:35 +02:00
Thomas Geymayer
a2aafc3b51 Canvas bug fixes.
- show canvas in a window
 - create window decoration also during pause
 - update content of ScrollArea on resize
2014-06-19 22:19:11 +02:00
Thomas Geymayer
351f67952c canvas.gui: Tweak size hints and MessageBox size. 2014-06-19 01:17:40 +02:00
Thomas Geymayer
e091ff9c40 Aircraft Center: show a warning message that it is experimental. 2014-06-18 17:25:15 +02:00
Thomas Geymayer
c03454a6b4 canvas.gui: MessageBox allow saving user selection. 2014-06-18 17:24:51 +02:00
Thomas Geymayer
5d723e6eab canvas.gui: Add checkbox widget. 2014-06-17 21:02:59 +02:00
Thomas Geymayer
e496ca56ab canvas.gui: Add MessageBox class.
Use canvas.MessageBox.critical/warning/information/question
to show a standard, but also customizable dialog box.
2014-06-17 17:16:02 +02:00
Thomas Geymayer
9933398a37 canvas.gui: missing return and minor color update. 2014-06-17 17:12:21 +02:00
Thomas Geymayer
c4d9310e33 canvas.gui: Remove old demo code. 2014-06-17 17:11:48 +02:00
Thomas Geymayer
b5dae5b567 canvas.gui: Button color tweaking. 2014-06-17 11:44:05 +02:00
Thomas Geymayer
8760036aa2 Aircraft Center: tabs for installed aircrafts. Buttons to switch aircraft. 2014-06-16 22:38:46 +02:00
Thomas Geymayer
55980af126 canvas.gui: remove canvas elements on deleting layout items. 2014-06-16 22:38:46 +02:00
Thomas Geymayer
cba00d9217 Aircraft Center: tweaking/typos.
- Increase default size.
 - Run parse_markdown on description to remove multi
   whitespace, possible present in catalog.xml and
   also support simple, one-level bullet point lists.
2014-06-16 22:38:45 +02:00
Thomas Geymayer
45889adb74 canvas.gui.ScrollArea: drag to scroll inside content area. 2014-06-13 12:27:31 +02:00
Rebecca Palmer
81607f734e Remove ATC chatter, as previously discussed:
http://sourceforge.net/p/flightgear/mailman/message/32440533/
http://sourceforge.net/p/flightgear/mailman/message/32428167/
2014-06-12 23:53:17 +01:00
Thomas Geymayer
6d086ad73e Aircraft Center: show description and package size.
Description is probably not visible, as currently now package
includes a description. If no description is available the
ratings are shown.
2014-06-13 00:34:44 +02:00
Thomas Geymayer
3505d3c8bf canvas.gui: support height-for-width layouting.
Setting wordWrap on canvas.gui.Label enables height-for-width
where the height of the label depends on the layouted texts
width.
2014-06-13 00:34:44 +02:00
Thomas Geymayer
2aeeae855f Aircraft Center: filter based on minimum rating and show missing thumbnail. 2014-06-12 00:49:18 +02:00
Thomas Geymayer
35bf001fa6 Aircraft Center: show progress and update button on install/remove. 2014-06-11 00:44:17 +02:00
Thomas Geymayer
1b5fc0cbdf canvas.gui: allow disabling widgets. 2014-06-11 00:36:42 +02:00
Thomas Geymayer
e4d60f2153 Simple canvas based "Aircraft Center".
- Needs FlightGear compiled with -DENABLE_PACKAGE_SYSTEM.
 - Shows only first 100 available aircrafts.
 - Now progress indication on install/remove (need to reopen
   dialog afterwards)
2014-06-10 18:47:13 +02:00
Thomas Geymayer
48f33fe78f canvas.gui: Checkable buttons, layout for ScrollArea and images for Lables. 2014-06-10 18:46:52 +02:00
Thomas Geymayer
7e2c93825f canvas.gui: restructuring, fixing and new Label widget. 2014-06-09 01:00:21 +02:00
Anton Gomez Alvedro
7b46de3e27 Code review comments and bugfixes
- Making run_tests accept a target namespace as an argument.
 - Fixed asynchronous trigger callback mechanism.
   MCBF triggers working again.
 - Fixed numerical problems when calculating standard deviation
   for rand triggers.
2014-06-06 21:41:13 -05:00
Anton Gomez Alvedro
5df7a784e5 Failure Management Framework (1st milestone)
Replaces existing Nasal/failures.nas script with a programmable failure
manager. The failure manager allows dynammic creation and removal of
failure modes, on demand activation and a flexible set of triggers.
The public interface can be found in Nasal/FailureMgr/public.nas

Aircraft/Generic/Systems/failures.nas provides a library of triggers and
failure actuators ready to use for programming the failure manager.

A compatibility layer is included under
Aircraft/Generic/Systems/compat_failure_modes.nas.
This compatibility layer is currently loaded on startup and programs the
FailureMgr to emulate the former behavior (same set of failure modes and
compatible interface through the property tree).

This first milestone is only intended to replace the failure management
engine underneeth with minimum visible changes, and hopefully no aircraft
breakages. Future milestones will build upon this to add a Canvas based
procedural GUI and example integration on aircrafts.
2014-06-06 21:41:11 -05:00
Anton Gomez Alvedro
8b16a71d50 Adds assert() for Nasal and fixes io.include internal marking
- A simple assert() function is added to the globals namespace.

 - io.include() marks the target namespace to avoid dependency loops.
   If the namespace is marked before the script to be included is
   compiled, a parse error leaves the target namespace marked while
   the script has not been loaded. This patch fixes this problem.
2014-06-06 21:41:10 -05:00
Philosopher
501f8ba881 MapStructure: a few WPT/RTE bugfixes 2014-06-06 21:19:12 -05:00
Philosopher
807062d0b6 Misc. Nasal cleanup 2014-06-06 21:19:11 -05:00
Philosopher
ddcb543c10 debug.nas: use argument to disable/enable color
(on top of the normal color setting -- i.e. this overrides that)
2014-06-06 21:19:10 -05:00
Thomas Geymayer
f91d439ac0 canvas.gui: Update ScrollArea for layouting system. 2014-06-05 17:33:44 +02:00
Thomas Geymayer
c226e171ca canvas.gui: tweaking and testing widget/layout stretch. 2014-06-04 17:53:52 +02:00
Thomas Geymayer
c3a65442b1 canvas.gui: Update for core changes and use new layouting system 2014-06-03 19:30:30 +02:00
Philosopher
f0d44ae8fe Lots lots more MapStructure changes
Fix the main bugs, add features and convert most of the layers.
Move/refactor some things as well. Add a canvas map dialog next to the
built-in one -- it's not 100% functional but it's quite close actually.

As before, the excitement has been taking place at our team clone.
https://gitorious.org/fg/canvas-hackers-fgdata/commits/0b4cc84
(topics/canvas-map-dialog branch this time, current HEAD in above URL.)
2014-05-25 14:27:11 -05:00
Hyde Yamakawa
c572c0e6d3 Add IFR symbols set based on Jeppessen IFR Glossary. 2014-05-17 06:50:29 -04:00
Thorsten Renk
3970bad285 Updates to Earthview, based on work by Anton Gomez Alvedro 2014-05-05 15:27:32 +03:00
Philosopher
37c005c222 Many MapStructure/NavDisplay updates
See the clone at https://gitorious.org/fg/canvas-hackers-fgdata/source/topics/canvas-radar:
2014-04-28 21:39:00 -05:00
Thorsten Renk
5a2ada9619 Updates to Earthview 2014-04-25 09:40:32 +03:00
Thorsten Renk
23d7f41481 Earthview orbital rendering based on the NASA Visible Earth image collection 2014-04-24 10:37:41 +03:00
Hyde Yamakawa
78ea19de4d Add IFR Basic Symbols Set and VFR Aopa's Set svg for canvas 2014-04-21 07:31:06 -04:00
Philosopher
6e17a1d2cb Initial Nasal REPL work (canvas-based)
Features:
- Various configurable styles.
- Working scroll bars, thanks to Tom
- Adequate REPL-ness.

See the wiki for more information!
http://wiki.flightgear.org/Interactive_Nasal_Console

N.B. This makes some (sane) changes to other Nasal files, including
expanding some of the Canvas API.
2014-04-18 16:49:11 -05:00
Thorsten Renk
426a4a0a6c GUI option and some internal tweaks for cloud shadow functionality 2014-04-17 12:39:53 +03:00
Thomas Geymayer
a5401c19c7 canvas: update for new bounding box getters. 2014-03-31 13:34:50 +02:00
Hyde Yamakawa
da76bc635e Canvas ND:GS pointer, LOC pointer and dme source fix from Soitenen 2014-03-25 17:55:06 -04:00
Thomas Geymayer
04c40a4232 canvas.gui.ScrollArea: check for valid content bounding box. 2014-03-24 00:18:29 +01:00
Thomas Geymayer
e593ee2c30 canvas.gui: Update for 'file'->'src' rename. 2014-03-20 11:46:48 +01:00
Thomas Geymayer
cf05294b84 canvas.gui: Basic demo showing how to use windows and widgets. 2014-03-19 23:51:34 +01:00
Thomas Geymayer
d7ddeb7183 canvas.gui: Basic ScrollArea widget. 2014-03-19 23:51:33 +01:00
Thomas Geymayer
313175b943 canvas: add helper to get translation of canvas.Elements. 2014-03-19 23:51:19 +01:00
D-NXKT
dd8f8f8c8a towing: replace 3 JSBSim-forces with one direction with 1 force and 3 directions 2014-03-18 22:03:27 +01:00
D-NXKT
6c0763c7bc winch/aerotowing support for JSBSim-aircrafts; visible tow- and winch-ropes for YASim and JSBSim-planes 2014-03-12 20:44:47 +01:00
Thorsten Renk
3a87e5a514 Experimental support for cloud shadows on the terrain 2014-03-10 10:29:14 +02:00
James Turner
2e451f292f Switch GUI to use new reposition command.
(Must have latest FG or you'll get a crash due to old ATIS subsystem)
2014-03-05 16:46:10 +00:00
Hyde Yamakawa
db3948728c CanvasND: Add 777 track bug implementation 2014-02-23 23:56:25 -05:00
Hyde Yamakawa
3b9b9988ad Fix of previos canvas mod, PLAN mode change 2014-02-23 13:43:54 -05:00
Hyde Yamakawa
8b691f6e60 CanvasND fixes #1317,1325 and wind ind, active WP, route discrepancy 2014-02-23 00:02:28 -05:00
Philosopher
642ebfa696 Some changes/additions to debug.nas
Add benchmark_time, rank, and print_rank. Modify benchmark to return/
pass-through the values of the function, appending to a vector if there
are multiple executions.
2014-02-20 11:47:27 -06:00
Thorsten Renk
22e3852cad Impostors simulating distant clouds for Advanced Weather / ALS 2014-02-17 10:21:26 +02:00
Gijs de Rooy
79726c6ec6 NavDisplay: 4 -> 6 on compass 2014-02-16 18:57:47 +01:00
Gijs de Rooy
9d64f98090 NavDisplay: waypoint drawing fix 2014-02-16 17:23:13 +01:00
Gijs de Rooy
69280a75c9 NavDisplay: fix route drawing 2014-02-13 19:36:27 +01:00
Gijs de Rooy
c7007cd545 NavDisplay fixes:
- correct VOR/ADF pointer and ILS rotation center
- display proper ETA hours
- fix DME range property
2014-02-11 19:45:39 +01:00
Philosopher
6de533b71b Canvas ND: disable MapStructure TFC layer 2014-02-10 16:00:34 -06:00
Philosopher
4b2cb3a07c Fix string.compileTemplate algorithms 2014-02-09 20:21:23 -06:00
Thomas Geymayer
bab393aa0c Canvas/SVG parser: fix bounding box and rotation center.
- Calculate bounding box after adding all children.
 - Apply rotation after all SVG defined rotations to use correct
   center of rotation (as defined in Inkscape)

This (together with the SimGear and FlightGear commits) fixes
the core problems of #1333.
2014-02-08 00:43:13 +01:00
Gijs de Rooy
4d7509e198 NavDisplay bug fixes:
- tru/mag and hdg/trk are now correctly handled
- heading 000 is replaced by 360
- NM font size fixed
- several rotation centers fixed
2014-02-04 22:07:35 +01:00
Philosopher
e9b1a89052 Clean up some global wrappers 2014-02-02 12:31:48 -06:00
Philosopher
73c21e0df4 Remove canvas.Map.df_controller 2014-02-02 12:25:45 -06:00
Gijs de Rooy
653d86db46 NavDisplay bug fixes:
- NM font correction
- Range displayed in PLAN mode
- ETA seconds format correction
- Calculate wind arrow based on track/heading
2014-01-31 23:36:41 +01:00
Thomas Geymayer
cab89b1b5a Nasal: new function string.compileTemplate
This allows to create functions to build string based on
templates used for examample with most common tilemap
engines.
2014-01-30 11:23:14 +01:00
Thorsten Renk
1c1bcda8d6 Support for creating high altitude noctilucent clouds in Advanced Weather/ALS 2014-01-30 11:08:35 +02:00
Philosopher
83d53e906d Canvas ND: fix altitude as rotation bug
;-)
2014-01-28 19:39:20 -06:00
Philosopher
4a2dab6f21 Canvas ND: small tweaks 2014-01-27 20:53:46 -06:00
Philosopher
0d4a86e3d4 Canvas ND: use MapStructure for TFC, other misc.
Implement traffic in MapStructure and use it. Various other hacks and/or
cleanup. Feedback required on whether this is a lot better than before.

Also partially revert 9c018d94c4d88dad7476ec250fa3b52024526f4b to add
feature to geo.PositionedSearch: it me._equals is overridden then the
old mechanism is used instead of the new C++ function, so that the
custom equality can be used. (In particular for the Fixes with the
TrafficModel class).
2014-01-26 20:26:25 -06:00
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
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