1
0
Fork 0
Commit graph

9061 commits

Author SHA1 Message Date
Rebecca N. Palmer
a4aff2cb82 remove checkIORules(), replaced by check in fgInitAllowedPaths() 2015-03-13 18:10:31 +00:00
Rebecca N. Palmer
9002696195 Make fgValidatePath always return std::string, not char * 2015-03-13 18:07:24 +00:00
Rebecca N. Palmer
d718d5f3cb Move Nasal io.open to flightgear, and make it use fgValidatePath 2015-03-13 18:02:46 +00:00
Rebecca N. Palmer
6a30e7086e Stop using property listener for fgValidatePath
This was insecure: while removelistener() won't remove it, there are
other ways to remove a listener from Nasal
2015-03-13 17:54:44 +00:00
James Turner
a6937e25ad Make a new launcher tab for add-ons
- avoids the settings page being overloaded with list boxes.
2015-03-12 10:36:41 +00:00
Torsten Dreyer
b21bb90ae5 Split multiplayer command
better split into
multiplayer-connect
multiplayer-disconnect
miltiplayer-refreshserverlist
2015-03-12 09:18:41 +01:00
James Turner
1e1326d8f3 Aircraft path support in the Qt launcher
- aircraft dirs are re-scanned when the paths change.
2015-03-11 23:20:29 +00:00
Torsten Dreyer
f5f82c461f RunUriHandler: add some INFO logging for the requests 2015-03-11 22:28:23 +01:00
Torsten Dreyer
956054afe7 Add command multiplayer to control the multiplay_mgr
push the logic to connect/disconnect/refresh out of the UI
into the backend.
2015-03-11 22:25:50 +01:00
Torsten Dreyer
4289c0aacd MetarProperties: don't double-trigger listeners on invalidate 2015-03-11 22:24:07 +01:00
Torsten Dreyer
f7d476c856 extract RemoteXMLRequest to make it reusable 2015-03-11 18:50:11 +01:00
James Turner
11c2623dec Start wiring package manager into the launcher. 2015-03-11 17:09:59 +00:00
James Turner
68efa84b3a Remove obsolete #ifdef check 2015-03-11 17:09:59 +00:00
James Turner
92864265af Refactor aircraft helper classes
- move the aircraft list and delegate to their own files
2015-03-11 17:09:59 +00:00
Torsten Dreyer
f32f1fba59 Fix recently introduced bug in json-to-prop conversion 2015-03-11 16:59:58 +01:00
Torsten Dreyer
fced50f480 JSON Properties: encode NaN as null
JSON doesn't know about NaN, probably null matches best
2015-03-09 16:17:20 +01:00
Torsten Dreyer
8b141025cd httpd: expose if airport has metar in navdb uri handler 2015-03-09 14:53:40 +01:00
Torsten Dreyer
4564dbd95e Live weather: ensure valid flag is set correctly 2015-03-09 12:24:36 +01:00
James Turner
585235ce01 One more log item for the tile-cache. 2015-03-08 09:41:27 +00:00
James Turner
2e452e78f3 Fix non-Qt build. 2015-03-08 09:40:44 +00:00
James Turner
c3543f8fdd GUI ‘restore defaults’ support.
- Hold ‘alt’ on launch to restore defaults, including launcher prefs.
2015-03-08 00:42:39 +00:00
James Turner
f9c23eb096 Add missing GPL boilerplate. 2015-03-08 00:42:39 +00:00
James Turner
bfeb41858d Cmake always generates version.h
- simplify some code as a result
2015-03-08 00:42:39 +00:00
James Turner
a466dbce73 Very crude work on GUI base package selection.
- feedback on wording greatly appreciated.
- needed to make nightly builds usable without bundled data.
2015-03-08 00:42:05 +00:00
James Turner
8d9db2824e Launch aircraft data cache
- makes successive aircraft scans much faster since -set.xml parsing
  can be skipped when the file is unmodified.
2015-03-08 00:42:05 +00:00
James Turner
4038ba3d51 Arrow icons for variant selection. 2015-03-05 15:53:40 +00:00
James Turner
7ca9fba4a8 Fix some off-by-one errors in variants GUI 2015-03-05 14:51:33 +00:00
James Turner
13d50853df Launcher support for aircraft variants.
- Allows for a less confusing UX when aircraft has several variants.
- Requires changes to aircraft -set.xml files.
2015-03-05 14:01:53 +00:00
Torsten Dreyer
0f72564140 Use the pagedPathForHistory in the FlightHistoryUriHandler 2015-03-03 17:10:16 +01:00
Torsten Dreyer
265c99a149 FlightHistory: add pagedPathForHistory
pathForHistory() halts the sim for a few seconds when called on long flights.
pagePathForHistory allows to retrieve the complete history in chunks
2015-03-03 17:08:20 +01:00
Torsten Dreyer
2e5db3ce85 httpd: fix misplaced warning message 2015-03-02 20:39:23 +01:00
Torsten Dreyer
0fcfbe9221 wrap the json flight history as a feature
this allows to attach properties later
2015-02-27 15:54:28 +01:00
James Turner
548b899fb6 Fix a couple more Qt version issues.
- only set the clearButton on QLineEdit if we have 5.2
- use itemData/currentIndex to avoid currentData()
2015-02-27 11:58:22 +00:00
Torsten Dreyer
146efcafa4 JsonUriHandler: allow POST updates without child
updates to properties used to be
POST /json/some/property/path
{
  name: 'somechild',
  value: 'somevalue'
}

which required some ugly path hacking when directly updating a node.
now, this works too (and in a probably more intuitive way)
POST /json/some/property/path/somechild
{
  value: 'somevalue'
}
2015-02-27 11:07:25 +01:00
Torsten Dreyer
4b5dec2cae HTML Property Browser: use radiobuttons for bools 2015-02-26 18:14:09 +01:00
James Turner
2d8cf78328 Fix Linux compilation.
- <memory> needed for auto_ptr
2015-02-25 23:53:49 +00:00
James Turner
a3d3e81a86 Set placeholderText from code
Avoids a hard requirement of Qt 5.3; only 5.1 is
needed.
2015-02-25 23:14:02 +00:00
James Turner
e1def22193 Fix cleanup of RouteDataPrivate 2015-02-25 22:58:56 +00:00
Torsten Dreyer
0034d6b59a flighthistory service: use GeoJSON instead of own invention
Track now comes as a LineString object
{
  "type":"LineString",
  "coordinates": [ [lon,lat,alt], [lon,lat,alt], ... ]
}

ref: http://geojson.org/geojson-spec.html#linestring
2015-02-25 10:38:22 +01:00
James Turner
1898a5fef8 Guard against a crash Torsten encountered once. 2015-02-23 18:22:52 +00:00
Torsten Dreyer
cc6178a9f3 Expose FlightHistory as a http service
usage:
GET http://localhost:8080/flighthistory/track.json
retrieves track as JSON data
{
  flightHistory: [
    {
      latitude: (number),
      longitude: (number),
      altitude: (number)
    }
  ]
}

GET http://localhost:8080/flighthistory/track.kml
retrieves track as KML path
optional request parameter:
LineColor=(hex encoded rgba color)
LineWidth=(line width in pixel)
PolyColor=(hex encoded rgba color)
interval=(number of seconds to auto-refresh)
2015-02-23 16:33:58 +01:00
Torsten Dreyer
68c9adb489 FlightHistory: make clear() public 2015-02-23 16:31:49 +01:00
James Turner
c9c0833741 Qt launcher: additional arguments UI
Add a plain text edit widget to the launcher to support
custom command line arguments.
2015-02-23 13:41:50 +00:00
James Turner
564177933b FlightPlan activation, delegate hook. 2015-02-23 13:41:50 +00:00
Torsten Dreyer
8451b6c7c7 Merge commit 'refs/merge-requests/1591' of https://gitorious.org/fg/flightgear into merge-requests/1591 2015-02-22 21:25:08 +01:00
Torsten Dreyer
6ecbca9e01 package system: de-hardcode default catalog id and url
make default catalog id and url configurable through properties
on startup. Provide defaults to preserve current functionality.

/sim/package-system/default-catalog/id
/sim/package-system/default-catalog/url
2015-02-17 12:41:18 +01:00
Torsten Dreyer
828f14c4f7 Ooops... 2015-02-17 12:09:22 +01:00
Torsten Dreyer
ae91b9cede Initial work for a PKG http service 2015-02-17 12:06:50 +01:00
bcoconni
5349d3367f JSBSim syncing. The changelog is:
* The Pitot angle can now be tweaked with the <pitot_angle> tag in the <metrics> block.
* The refuel rate is now configurable with the <refuel-rate> tag in the <propulsion> block.
* Fixed C++11 compliance. JSBSim can now be compiled with a C++11 compiler.
* Avoid a spurious mass report to be issued when resetting.
* Fixed the moments computation. Previously they were computed with the previous time step CG position.
* Fixed a bug where the CG update was delayed to the next time step when point masses location were modified via the FCS.
2015-02-15 11:37:13 +01:00
Torsten Dreyer
6e3486349b PropertyBrowser: Add a JSON link and the path 2015-02-13 11:42:45 +01:00
portree_kid
ee63507f22 Code to stop loading of invalid flightplans 2015-02-12 22:09:45 +01:00
Rebecca N. Palmer
033957003f Clear GroundLightManager on exit to avoid segfault
While mostly harmless since you're exiting anyway, it's an annoying
distraction when the real problem is "unexpected exit" (e.g.
https://bugs.debian.org/763285 ), and blocks testing with LeakSanitizer
2015-02-12 16:39:28 +00:00
James Turner
1cffd2b8c0 Fix encoding / C++11 compliance
- convert text encoding to UTF-8
- C++11 requires a space between literal and identifier
2015-02-11 16:44:05 +00:00
Torsten Dreyer
6970ea69a8 httpd/json: send as correct typ for bools and numbers 2015-02-11 11:34:16 +01:00
Torsten Dreyer
b42841ccd2 Add formatted KDI572/574 properties
Syd Adams:
I've added an update to dme.cxx /dme.hxx.
It adds a formatted KDI572-574/nm , min and kt string properties meant
for text animations for these instruments.Existing instruments will funtion
as usual, no breaks. The purpose here is to eliminate yet another nasal
workaround which usually needs to repeat some of what the code already does.
The 3 properties are empty when the dme is off (no need to check for power),
dashes when powered up but no source , out of range ,etc.
The are formatted to the KDI-572/573/574 limits ...
0-99.9/100-389 for distance to station,
0-99 minutes for time to station,
groundspeed 0-999 kt.
2015-02-11 08:35:31 +01:00
Torsten Dreyer
ef2c9b995f JSBSim: populate fuel tank cg 2015-02-04 12:44:20 +01:00
Rebecca N. Palmer
fe0015bda0 Fix typo, thanks to Markus Wanner 2015-01-18 22:23:49 +00:00
Rebecca N. Palmer
193f2a3fbc Fix hang in Nasal->C++->Nasal calls
https://bugs.debian.org/750939
http://sourceforge.net/p/flightgear/mailman/message/32969200/
2015-01-18 22:23:21 +00:00
Stuart Buchanan
6725b460bf Clean up some trivial warnings 2015-01-18 19:49:14 +00:00
bcoconni
5d2197ae3c Fixed a bug that made FG crash when repositionning the aircraft or resetting the simulation. Thanks to Rebecca Palmer for the bug report and the bug patch. 2015-01-17 14:58:48 +01:00
James Turner
dcf8ac1778 route-path: separate turn entry and exit parts.
Fixes appearance of runway legs with off-centerline previous
and next points, since we can generate different curves for each
end of the runway.
2015-01-14 23:28:52 +00:00
Torsten Dreyer
01dfd52d69 Fix wrong ATIS for negative temperatures 2015-01-12 16:46:24 +01:00
James Turner
e4f5f71aae Route path turn helpers.
Make the code more readable with some named helper functions.
2015-01-11 13:15:24 +00:00
James Turner
e9849ecae9 Remove a warning, let Nasal itself warn if needed. 2015-01-10 19:35:50 +00:00
James Turner
e7d4e28f44 Fix broken angular conversion in RNAV runway controller. 2015-01-10 19:35:34 +00:00
James Turner
cc2a78b70b RNAV: use runway departure end for previous wpt.
Should fix leg computation following a runway waypt.
2015-01-10 19:35:11 +00:00
James Turner
6b9aa0fb97 Fix GPS intercept controller:
- handle bad intersection geometry gracefully (end controller)
- fix termination condition
- always use target track to compute position.
2015-01-10 17:57:02 +00:00
James Turner
fa3301f68d Fix spelling mistake. 2015-01-10 17:57:02 +00:00
James Turner
8bfb63e4ed Launcher: select season. 2015-01-10 14:57:59 +00:00
James Turner
ce10b4c8f1 Ask before creating the custom aircraft dir. 2015-01-10 14:18:44 +00:00
James Turner
ee61a07636 Restore aircraft-manager location back to FG_HOME 2015-01-10 14:18:32 +00:00
James Turner
7d9609116b - Make Qt check guarded by a CMake option
- Only init QApplication if showing the launcher.
2015-01-10 14:05:23 +00:00
James Turner
e94371ebfc Route-path bug fixes.
- explicit aircraft performance categories for turn radius
- allow overflight leg course behaviour to be selected
2015-01-08 19:46:04 +00:00
James Turner
55b092771f Launcher: hook up MSAA checkbox. 2015-01-07 11:30:44 +00:00
James Turner
72e0ea9e40 Only set AUTOMOC for fglauncher target.
(Avoids pointless noise for all other targets)
2015-01-07 09:38:02 +00:00
James Turner
1ba62acfcc Fix native menubar in Mac builds with Qt
- where we don’t use the launcher, we must pass tell OSG we
  want to pose as standalone when setting the window traits.
2015-01-07 09:19:04 +00:00
James Turner
02bcb3718a Hook up parking position in launcher. 2015-01-06 21:12:19 +00:00
James Turner
53b478654c Linux fixes for launcher code. 2015-01-06 20:36:05 +00:00
James Turner
78e8f53312 In-app launcher for Mac, based on Qt5.
The old Mac launcher doesn’t work on Yosemite, add a tiny
Qt-based launcher inside the main process (no need to fork /
exec) which runs before the OSG window is created.

Will be merged for 3.4, hopefully with no impact on other
platforms.
2015-01-06 19:13:30 +00:00
James Turner
0a28e95107 Guard against saved bad terrasync path.
- warn when the terrasync path is not writeable, with a message box.
2015-01-04 18:02:26 +00:00
James Turner
5ccc835667 Fix turn entry path position computation. 2015-01-03 00:29:07 +00:00
James Turner
23b0db0f0d Waypoint controller fixes
- use a low pass filter on FPM value for ConstHdgToAlt
- better position calculation for DME/radial/VOR intercepts
2015-01-02 23:58:29 +00:00
James Turner
6db45dac9d Fix two route path issues found by Hyde
- course computation from a runway was wrong (used threshold pos)
- negative distance along path was using wrong distance to offset
2015-01-02 09:47:54 +00:00
Clément de l'Hamaide
49ce7cd318 Revert "Altimeter: fix output format for hPa/InHg settings"
Replaced by some line of Nasal, that way we don't touch the internal precision of the altimeter

This reverts commit 84a26de9ae.
2014-12-30 17:32:48 +01:00
Clément de l'Hamaide
84a26de9ae Altimeter: fix output format for hPa/InHg settings
Usually, in a real cockpit, altimeter shows hPa setting as an integer number and InHg setting is limited to 2 decimals

In aviation we don't need higher numeric precision
2014-12-30 16:20:08 +01:00
James Turner
dbc47efa18 Partial fix for runway leg courses.
Don’t assume runway leg course matches the runway heading.
Full fix means generating separate entry/exit turns for runways.
2014-12-25 21:52:54 +03:00
James Turner
5c659b3970 Fix distance-along-path computation
(Thanks to Hyde Yamakawa for pointing this one)
2014-12-25 21:52:13 +03:00
James Turner
dd1b829618 When the turn angle is large, don’t fly-by.
This avoids the tan() term in the fly-by computation
causing huge turn cuts which will fail to sequence.
Convert such turns to fly-over.
2014-12-22 21:47:21 +03:00
James Turner
f80528f8d6 RoutePath mag-var and point-on-path fixes 2014-12-22 17:00:43 +03:00
James Turner
a1169e4f75 Expose waypoint heading/course to Nasal. 2014-12-21 09:53:32 +03:00
James Turner
aa3333cd31 Fix runway path appearance. 2014-12-21 09:21:31 +03:00
James Turner
91992f6cf1 Route path
- better point along path computation
 - fix path distance for turns
 - detect and skip duplicated waypoints

(and provision to skip based upon impossible turn
geometry soon)
2014-12-20 15:19:00 +01:00
James Turner
088572e87d Route-path:
* better overflight pathing based on next wpt type
* tolerate procedures with bad intersections (eg KSFO OFFSH8)
2014-12-19 17:01:27 +00:00
James Turner
7317aff22d Fix route-path bugs:
- accurate fly-over / fly-by computations
 - parse additional LevelD XML elements
 - path vector contains curves for turns

Remove dead code.
2014-12-18 23:05:28 +00:00
Anders Gidenstam
df61dfe1b3 JSBSim: Renamed the location properties for external forces to include the unit. 2014-12-18 11:02:41 +01:00
Torsten Dreyer
6f54ffc947 Allow easing of setting the time-offset
Configurable with properties:

/sim/time/warp-easing == false ? jump to new time offset (orig. behaviour)
/sim/time/warp-easing == true ? use easing parameter to adjust warp

/sim/time/warp-easing-duration-secs: time in seconds to reach the new value
/sim/time/warp-easing-method: easing method to apply. default: swing
2014-12-17 09:52:09 +01:00
bcoconni
a1df1fb70a Synced JSBSim. Adds the following new features:
- Ability to modify the location of external forces via the property tree
- Ability to specify manually the inertia matrix of "point masses"
- Improvements of the water injection feature in the turbine code
2014-12-15 20:12:18 +01:00
Torsten Dreyer
a4ab1dae38 downgrade log-level for newnavradio messages 2014-12-11 21:37:37 +01:00
Torsten Dreyer
b750e9d8b5 Shut off spoken atis if radio's power button is off 2014-12-11 11:20:34 +01:00
James Turner
01622dd1f4 Fix flight-plan course and distance computations.
Always use the RoutePath system for course and distance computations
in the flight plan, so that dynamic segments are handled correctly.
2014-12-08 17:56:15 +00:00
James Turner
938a180c3d Level-D procedures: parse Flytype element
With this, the fly-by / fly-over info from the procedures is exposed
correctly.
2014-12-07 12:34:50 +00:00
James Turner
d806b68706 find waypoints in the flight plan. 2014-12-04 15:43:32 +00:00
Torsten Dreyer
71eba5e579 Fix #1606, bad ATIS for Japanese locale
Selecting a language for a nonexisting translation did not load the sys and
atc messages.  Better fall back to default (en) locale.
2014-12-04 09:18:41 +01:00
Torsten Dreyer
89a7516c62 Fix hangs while scenery-loading
don't start the traffic manager before the FDM is initialized
The FDM needs the scenery loaded and will wait for all PagedLOD Nodes
to appear if they are close (less than 1000m) to our initial position.
That's required for scenery models but not for AI traffic.
2014-12-03 10:29:30 +01:00
James Turner
cb9919ef74 Drop ground-nets cache on scenery path change.
Unfortunately we can’t drop loaded ones, since the in-memory structures don’t have ref-counting, and we don’t
know what AI plans may be referencing them.
2014-12-02 16:31:34 +00:00
bcoconni
2122e9eee3 Save a memory allocation each time a property node is wrapped in Nasal. Instead use a direct access to the reference counter and explicitely delete the node if the ref counter is decremented to zero during the ghost destruction. 2014-11-23 14:53:54 +01:00
James Turner
89115ccb1d Adding some debugs for Thorsten Renk’s issue.
Will revert this patch in the future.
2014-11-19 22:35:44 +00:00
James Turner
c6c63e65f7 Adding log message for an edge case. 2014-11-19 22:35:44 +00:00
Torsten Dreyer
e46ab5faa3 Optionally use SCREEN_SIZE_PIXEL for LOD
This patch enables AIModels to use the size on the screen for LOD instead
of distance from eye point.
With /sim/rendering/static-lod/ai-range-mode-pixel set to true
/sim/rendering/static-lod/ai-detailed now contains the minimum size of the
model on the screen to be displayed. Values of 10-50 seem to make some sense.
2014-11-19 17:26:58 +01:00
bcoconni
5f0bffde58 Re-sync JSBSim with FlightGear including James Turner's fix for the call to the function to_string that failed to compile on Mac and MSVC. 2014-11-18 19:54:52 +01:00
Clément de l'Hamaide
c3eda927a9 Update /sim/startup/fullscreen prop at runtime, that way we know the current state of the window 2014-11-18 17:14:22 +01:00
James Turner
71da5b7a76 Tweak scenery-loaded logic
Make first-start (not a reset / re-init) behaviour more explicit.
2014-11-15 16:29:39 +00:00
bcoconni
51e5add743 JSBSim sync 2014-11-15 11:39:49 +01:00
James Turner
779a97b925 Move all tile-manager init to reinit path.
- improves changing scenery paths at runtime.
2014-11-11 22:25:55 +00:00
James Turner
729392b1f3 Remove obsolete #define 2014-11-11 22:25:55 +00:00
Torsten Dreyer
4b4f5c9e9a httpd: some code cleanup for JsonUriHandler.
no functional change
2014-11-11 08:59:41 +01:00
Torsten Dreyer
aeb1eedba8 Allow property set on the /json/ uri handler 2014-11-10 14:23:12 +01:00
Torsten Dreyer
bca8b75a81 Allow input systems to be disabled
To avoid trouble when running multiple instances on one machine, disable
e.g. joystick input for second instance by
--prop:bool:/sim/input/no-joystick-input=true

Also allowed:
--prop:bool:/sim/input/no-event-input=true
--prop:bool:/sim/input/no-mouse-input=true
--prop:bool:/sim/input/no-keyboard-input=true
2014-11-06 22:27:59 +01:00
Torsten Dreyer
d46aa5114f httpd: upgrade to latest mongoose 5.5 2014-11-06 22:21:22 +01:00
Torsten Dreyer
0376ab3f28 Fix #1579: Handle special characters in html property browser 2014-11-04 22:21:44 +01:00
Torsten Dreyer
06e8fe747f Precipitation updates from ThorstenR
required SimGear commit 75271c44a82ae0fb1ff9c91e93a12fa8b10099fd

Since the consensus seems to be that the precipitation clipping issue is with the panel code, attached is  my proposed update for the precipitation system in SG and FG

* without corresponding control structures in FGData it falls back to default, except I have fixed an inconsistency in freezing behavior - previously rain changed suddenly to snow when the temperature dropped below zero, but the reverse transition was dragged out and gave odd visible motion with the wind as snow gradually changed back to rain with the particle speed not well defined. Now both transitions are sudden. And I see no more particles flow against the wind

* with

 <!-- definitions for the detailed precipitation manager -->
 <precipitation-control>
     <rain-droplet-size type="float" userarchive="n">0.015</rain-droplet-size>
     <snow-flake-size type="float" userarchive="n">0.03</snow-flake-size>
     <detailed-precipitation type="bool" userarchive="n">false</detailed-precipitation>
     <illumination type="float" userarchive="n">1.0</illumination>
     <clip-distance type="float" userarchive="n">5.0</clip-distance>
  </precipitation-control>

added to Environment/environment.xml, the new system allows to switch more detailed management on. This provides

* explicit setting of rain droplet size and snow flake size by the weather system

* automatic sqrt(r) scaling of the vertical speed of raindrops

* automatic transition to snow when freezing for small droplets but hail for large droplet sizes (looks like snow, but has different particle dynamics)

* an illumination scaling factor to dim the precipitating based on the light we have in the scene (I still need to devise a property rule to set this automatically)

The clip distance is also exposed now and considered at startup of the system - might be useful for e.g. airships when the gas bag provides rain cover (?)   or to be simply off for open airplanes
2014-10-21 10:47:32 +02:00
bcoconni
a30dadcf18 Fixed the initial conditions settings where the altitude passed by FG to JSBSim is geodetic instead of geocentric. 2014-10-19 19:05:30 +02:00
Torsten Dreyer
e786b1a54e httpd: expose airport id to geojson properties 2014-10-16 13:09:43 +02:00
Thomas Geymayer
db22e215a2 Fix updating ADF ident if getting in range after being out of range. 2014-10-03 12:40:07 +02:00
Torsten Dreyer
e4fd9a6b8f Remove --jpg-httpd option
the original implementation of a screenshot server is now
replaced by the mongoose httpd /screenshot URI which provides
more features.
2014-10-02 11:33:45 +02:00
Torsten Dreyer
cc526174c1 httpd: fix mjpeg encoding 2014-10-02 11:13:12 +02:00
Torsten Dreyer
c0c82f4f7b Fix (1st try) absolute paths for httpd url_rewrites
Thanks to Alan Teeder for guiding me into the right direction
2014-09-24 20:50:10 +02:00
Torsten Dreyer
2859400336 Some debug stuff for the mongoose httpd
- add a config-dump on log-level=info
- add an access-log option
  use --prop:string:/sim/http/options/access-log-file="/path/to/access.log"
2014-09-24 17:40:04 +02:00
Torsten Dreyer
996a46536d httpd: fix log message typos
no functional change
2014-09-21 22:29:10 +02:00
Clément de l'Hamaide
41865b15c9 Improve <usage> tag feature
- Introduce a new LOD: ai-interior
- Load a <model> with <usage>interior</usage> on-demand
- Avoid to load the cockpit of players in MP
- Default LOD is 0.0 - 50.0 meters
2014-09-21 22:11:35 +02:00
Torsten Dreyer
e8d851d236 Allow user defined mime types for the internal httpd 2014-09-20 01:48:32 +02:00
Thomas Geymayer
0b9e72eb87 Nasal: move IOrules check to better place and exit on failure. 2014-09-19 18:22:47 +02:00
Thomas Geymayer
bb38e59ba2 Skydome ends lower with default rendering scheme. 2014-09-18 10:39:01 +02:00
Thomas Geymayer
104dc1170b Use black clear color only at high altitudes.
Black clear color can cause visual glitches on low
altitudes, but a black space is much nicer, so just
switch at 300.000 ft.
2014-09-18 00:16:09 +02:00
Torsten Dreyer
015ecb54f3 Load a flight recorder tape from the command line
Adds new option --load-tape=foobar to load a flight recorder
tape from the command line. Loads foobar.fgtape from the
directory specified in /sim/replay/tape-directory and starts
replay.
2014-09-17 22:38:40 +02:00
Thomas Geymayer
dd8b412060 Black sky for orbital flights outside skybox.
as suggested by Thorsten and Lauri.
2014-09-17 12:14:42 +02:00
Torsten Dreyer
c9d159e71f httpd: downgrade log message 2014-09-15 10:54:00 +02:00
Torsten Dreyer
512ec61e8e Expose the running-state of the internal webserver 2014-09-12 22:58:30 +02:00
Torsten Dreyer
b50b1a778b httpd: expose the aircraft dir to the web server
add a (currently) hard coded url rewrite to access the
currently used aircraft by
http://localhost:8080/aircraft-dir/
2014-09-10 22:43:06 +02:00
Torsten Dreyer
48180eb9ab Optionally disable the lowpass for the static system
the static system has an optional "tau" parameter to
define the rate at which the output value changes.

Setting this value to zero now disables the filter.

This prevents wrong airspeed indications on rapid
altitude changes. No functional changes if tau has
other-than-zero values (e.g. the default systems).
2014-09-10 21:07:57 +02:00
Torsten Dreyer
85e4a3254f Fix comm radio frequency range
Thanks to Richard Senior
2014-09-02 17:10:09 +02:00
Thomas Geymayer
96a2673dd8 Canvas: expose set/clearFocusElement to Nasal. 2014-08-25 21:54:20 +02:00
Torsten Dreyer
159ec7e08b Expose total-fuel-m3 to the tank properties 2014-08-25 21:40:12 +02:00
Thomas Geymayer
4b59c152ea canvas::Text: expose more text/cursor methods to Nasal. 2014-08-23 16:06:33 +02:00
Torsten Dreyer
a4b0be3d8a Expose the vertical flight path as a property
write the vertical flight path to /orientation/path-deg
zero means level flight, positive angles climb

Also use SGD_DEGREES_TO_RADIANS (and vice versa) for double computations
instead of the float constants
2014-08-19 00:01:08 +02:00
Thomas Geymayer
aa1b3c1e31 Expose canvas::Element::setFocus to Nasal. 2014-08-12 17:57:01 +02:00
Thomas Geymayer
6713830254 Nasal Timer: prevent warning on restarting oneshot timer in callback. 2014-08-11 00:31:18 +02:00
Thomas Geymayer
45ab3a20a2 Canvas: generate keypress event for text input. 2014-08-11 00:30:55 +02:00
Thomas Geymayer
271cf1420d Canvas: support for pointer grab. 2014-08-11 00:25:26 +02:00
Stuart Buchanan
b654477794 New materials.xml format 2014-08-09 20:43:34 +01:00
bcoconni
beedd9e683 Fixed a bug where the rate_limit was ignored if it was set by a property. 2014-08-09 20:02:44 +02:00
Thomas Geymayer
2520124e97 Update for OpenSceneGraph 3.3.2 API changes. 2014-08-09 19:13:39 +02:00
Thomas Geymayer
08263dc1ec Canvas: expose layout contents margins and alignment to Nasal. 2014-08-05 00:19:40 +02:00
bcoconni
1c867eb99d Bug fix for the issue #1497. JSBSim calculations of geodetic coordinates were producing a NaN at the North and South poles (i.e latitude +/-90deg). 2014-08-03 13:59:30 +02:00
Thomas Geymayer
90f197fbc4 Do not assume there is a mouse mode with index 3. 2014-07-30 23:54:04 +02:00
Thomas Geymayer
d836126c75 Better fallback for missing menu and splash translations. 2014-07-30 23:53:16 +02:00
Thomas Geymayer
4f2032a9c2 Canvas: export preventDefault to Nasal and use to stop events on DesktopGroup. 2014-07-30 17:17:24 +02:00
Thomas Geymayer
49df413444 Canvas: Keyboard events and input focus.
Also allow events on desktop group if no window is receiving
events. Currently it is not possible to prevent events handled
by the desktop group to further propagate (eg. to normal
control input).
2014-07-30 00:00:03 +02:00
Thomas Geymayer
0646d5f443 Nasal: expose LayoutItem visibility methods. 2014-07-21 00:27:20 +02:00
Thomas Geymayer
a673f4a5f9 Nasal: update for simgear changes. 2014-07-21 00:26:54 +02:00
bcoconni
a428d611c3 Fixed the erratic behavior of <actuator> when rate_limit is read from a property. See more details about the bug in the issue #1503 in FlightGear bug tracker. 2014-07-19 00:23:41 +02:00
bcoconni
5deeeaf781 Fix for the bug reported in the FlightGear 1503 2014-07-17 01:11:09 +02:00
Thomas Geymayer
5f4ad79954 canvas.Layout: expose missing methods to Nasal. 2014-07-16 11:24:53 +02:00
Thomas Geymayer
c5c0a7dcf3 AIShip: remove duplicate property tie. 2014-07-12 11:54:47 +02:00
Thomas Geymayer
0f14a2d73b subsystemFactor: name fixing (use same as in fg_init.cxx) and cleanup. 2014-07-12 01:17:35 +02:00
Thomas Geymayer
a52c0882a1 Fix subsystemFactory name fdm -> flight (Thanks to Hooray). 2014-07-11 19:25:26 +02:00
Thomas Geymayer
486ef5b06c pkg: retrieve existing install (or register callback). 2014-06-30 18:15:31 +02:00
James Turner
3f433e2c35 Fix polar rendering of map. (Bug #55)
Use an azimuth-equidistant projection, which handles high latitudes and
polar regions correctly. Written by Gijs de Rooy.
2014-06-29 21:45:18 +01:00
Thomas Geymayer
a94ad46dc0 Nasal: expose missing Canvas::setLayout 2014-06-26 18:26:43 +02:00
Thomas Geymayer
a66e30aa04 Nasal: Limit SGPath::create_dir access rights to 0755 2014-06-26 16:03:10 +02:00
Thomas Geymayer
c65b2eb6b0 Draw Canvas GUI on top of PUI (to conform with event order). 2014-06-24 11:57:33 +02:00
Thomas Geymayer
694df4b337 Fix compiler warning (naRuntimeError does not return...) 2014-06-23 00:42:17 +02:00
Thomas Geymayer
1b55ab5f40 Nasal: expose SGCondition using nasal::Ghost and improved error checking. 2014-06-22 15:37:48 +02:00
Thomas Geymayer
f7f7be77e5 Remove unused value, formatting. 2014-06-22 15:36:25 +02:00
Thomas Geymayer
821af95e0d Keep (PUI) menubar visibility on gui-redraw. (Fix #1251)
For aircraft using fgcommand("gui-redraw"), which is for example
also used by gui.menuBind, the menubar was always hidden and
not shown again.
2014-06-21 14:51:34 +02:00
Thomas Geymayer
1d5f229653 Nasal: set CustomEvent::bubbles. 2014-06-21 00:24:57 +02:00
Gijs de Rooy
8c99d5d9d6 Remove unused --control option 2014-06-19 14:28:14 +02:00
Thomas Geymayer
f4b7ae5da3 Nasal: md5 is now in simgear. 2014-06-18 15:59:41 +02:00
Thomas Geymayer
cfbf9e7e4e Nasal: expose md5 function. 2014-06-17 22:33:53 +02:00
Thomas Geymayer
da2bb6353e Nasal: expose canvas::Text::maxWidth. 2014-06-17 17:02:10 +02:00
Thomas Geymayer
c13612b1fa GUIMgr: prevent double init/shutdown 2014-06-16 23:47:05 +02:00
James Turner
7e8d713b28 Pkg: initial support for Variants
- aircraft init code can deal with a variant ID
- Nasal API can return a hash with variant IDs and names
2014-06-15 20:10:24 +02:00
Thomas Geymayer
26a4948642 NasalSys: process nasal::Ghost deletion queue. 2014-06-15 16:36:35 +02:00
Thomas Geymayer
33d23026c4 pkg: allow 'installed' as filter criterion. 2014-06-15 16:36:02 +02:00
Thomas Geymayer
52a4ded502 Nasal: expose canvas::Layout::clear() 2014-06-14 13:22:22 +02:00
bcoconni
d830430e61 Kévin Seroux: C++11 fixes for MSVC++ 2014-06-14 00:29:39 +02:00
Thomas Geymayer
4409c8cca6 Expose parse_markdown to Nasal. 2014-06-13 19:16:26 +02:00
Thomas Geymayer
e1eb9e4418 Enable package system API 2014-06-13 16:08:26 +02:00
Thomas Geymayer
b53b1a3a25 Nasal: expose canvas height-for-width layouting methods. 2014-06-13 00:09:33 +02:00
James Turner
8f754a1673 Type-correct decoding of JSON to props. 2014-06-12 19:58:13 +01:00
James Turner
d1a477324e Websocket get/set props and exec commands. 2014-06-12 17:57:25 +01:00
James Turner
ee627b8652 Expose package file size to Nasal. 2014-06-12 17:51:19 +01:00
Thomas Geymayer
9604142d09 Fix crash (use iterator of same container for loop) 2014-06-12 16:38:21 +02:00
James Turner
63427fc589 Pkg: Fix loading of non-installed aircraft.
Fallback to the normal code path when a packaged aircraft is
found, but not installed.
2014-06-12 13:06:01 +01:00
James Turner
7a5b729052 Pkg: nicer Nasal syntax for tags in queries. 2014-06-12 08:17:05 +01:00
James Turner
32f57d0dc1 Aircraft switching command and formal support.
- /sim/aircraft can be set to package ID, including qualified
package ID. If not matching package is found, falls back to
traditional search of fg-aircraft for -set.xml files
2014-06-12 08:17:05 +01:00
Thomas Geymayer
0fb94ba596 Nasal: expose canvas::Layout item remove and get methods. 2014-06-12 00:44:26 +02:00
Thomas Geymayer
53c0454931 Package: warn for unknown filter term and use Hash::iterator. 2014-06-11 18:19:13 +02:00
Thomas Geymayer
0e286717a6 pkg: Expose install callbacks to Nasal. 2014-06-10 23:53:57 +02:00
James Turner
afa45240b0 Packages: search from Nasal
- also allow direct uninstallation.
2014-06-10 22:12:27 +01:00
Thomas Geymayer
c0eda4a47c Nasal: expose more methods to Nasal. 2014-06-10 18:44:38 +02:00
Thomas Geymayer
9c0b5a5c54 Nasal: Expose BoxLayout methods for spacer and stretch. 2014-06-08 23:34:37 +02:00
Thomas Geymayer
371b71dd6c Nasal: expose vbox layout and allow setting item stretch. 2014-06-04 17:50:52 +02:00
Thomas Geymayer
1af3ad2525 Nasal: extend pkg API. 2014-06-04 17:50:25 +02:00
Thomas Geymayer
75f5eba002 Update includes (required by simgear changes) 2014-06-04 02:58:14 +02:00
Thomas Geymayer
3c0b7f88b8 Updates for simgear nasal::Ghost changes. 2014-06-03 19:00:25 +02:00
Thomas Geymayer
06a9958689 Canvas: expose more methods to Nasal 2014-06-01 12:15:02 +02:00
James Turner
d1fd5756f6 Initial package-system integration.
- disabled by default
- incomplete, adding so Thomas can see the API
2014-05-31 18:04:56 +01:00
Thomas Geymayer
3b4bb10e4f Canvas: expose layouting to Nasal. 2014-05-31 02:43:03 +02:00
Thomas Geymayer
7c31654b3a Canvas: store data inside canvas and elements.
- jQuery/HTML5 like .data() method on Canvas and Elements to store
   custom data in the property tree.
 - CustomEvent takes additional parameter hash with 'detail' data
   stored in event.
2014-05-29 16:47:32 +02:00
James Turner
fea8e96fe9 Fix for airport search on some platforms.
Ensure the std::string passed to sqlite lives for the duration
of the query.
2014-05-29 09:42:21 +01:00
James Turner
fd248e9391 Respect tile expiry time when cache is disabled.
Tiles added via the visible mechanism always have an
expiry time of 0.0, so this only affects tiles added by elevation queries, from the AI or FDM.
2014-05-24 14:23:59 +01:00
Torsten Dreyer
2e76a2c72a Update of the httpd implementation
- Add a screenshot uri handler
- Enable persistent http connections
- Simple CORS implementatation for the
  JSON property uri handler

many changes for the httpd
2014-05-22 10:28:54 +02:00
Torsten Dreyer
a5c39e3009 Final log-class cleanup (httpd comes in another commit)
yes, I will use grep next time :-/
2014-05-20 23:12:34 +02:00
Torsten Dreyer
c187dab625 More log class fixes 2014-05-20 23:06:02 +02:00
Torsten Dreyer
29990c40bf No JSBSim debug msg without having SG_FLIGHT class 2014-05-20 22:58:38 +02:00
Torsten Dreyer
3e47fc0c11 set corret logging class for A/P messages 2014-05-20 22:36:43 +02:00
Thomas Geymayer
5b74a72506 Canvas: support for custom events and event dispatching. 2014-05-19 00:28:40 +02:00
Thomas Geymayer
b3946f08f9 NasalCanvas: Update for simgear changes. 2014-05-18 20:21:56 +02:00
Thomas Geymayer
741c3c892c NasalPositioned: Update for nasal::Ghost changes in SimGear 2014-05-18 17:48:46 +02:00
bcoconni
105cba0bda JSBSim sync 2014-05-18 13:39:31 +02:00
James Turner
431a3eaa1b Tune osgDB::MaxPagedLODs parameter 2014-05-17 09:05:34 +01:00
James Turner
f19da413bb Initial mode to disable caching of tiles. 2014-05-16 14:52:24 +01:00
Torsten Dreyer
ffe6c39a1d More AtisSpeaker variations
Also hide the voice installation path from the user of
the VoiceSynthesizer
2014-05-13 11:20:11 +02:00
Colin Douglas Howell
54f954fd02 Fix for issue 1463 (YASim underestimates off-axis aerodynamic forces on fuselages)
Change the drag coefficient for fuselages along the Y and Z axes
(i.e. perpendicular to the fuselage's main axis) to use a fixed
value of 0.5. (The value can still be adjusted using the fuselage's
"cy" and "cz" XML attributes.)

For the Y-axis and Z-axis drag on fuselages, YASim originally used
a drag coefficient equal to:

	(solver drag factor) * (fuselage length/width ratio)

This value turns out to be way too small for well-streamlined
aircraft, even those with long, narrow fuselages, and especially
so for those with short, stubby fuselages. Such fuselages are
streamlined in the X direction, but not along Y or Z.

0.5 is only a ballpark estimate, but it's reasonably close for the
common case of a fairly long fuselage with a round cross section. For
flat-sided fuselages, a larger value should be used, up to a maximum
of 2 for a slab-sided block. For short fuselages, the value should be
reduced to account for end effects. The fuselage's "cy" and "cz" XML
attributes can be modified to make such adjustments.

This fix won't affect straight flight much, but it should have a strong
impact on some maneuvers. For example, it will make slips more
effective and may make knife-edge flight easier on aerobatic aircraft
which should be capable of it.

Only aircraft which specify version="YASIM_VERSION_32" or newer are
affected.
2014-05-12 19:07:10 -07:00
Colin Douglas Howell
907209746f Separate fuselage drag adjustment from that for landing gear and external weights.
This commit is in prepartion for the following commit, which is a bug fix for
Issue 1463 (YASim underestimates off-axis forces on fuselages).

Previously the solver would adjust the drag factor for all of an Airplane's
non-Wing Surfaces in one pass, with no attempt to distinguish Fuselage Surfaces
from the Surfaces for Gear and Weights. This makes it difficult to modify how
fuselage drag is calculated while leaving unaffected the drag for landing gear
and external weights.

Now the solver adjusts the drag for an Airplane's fuselages, landing gear, and
external weights in three separate passes. To do this, each Fuselage now has a
list of its Surfaces. The fuselage pass simply iterates through the list of
Fuselages, running through each Fuselage's list of Surfaces.

The Airplane's list of non-Wing Surfaces, "_surfs", is no longer used here, but
there may still be uses of it elsewhere.
2014-05-12 14:29:48 -07:00
Torsten Dreyer
98c053792e Try to fix build error for msvc 2014-05-10 15:49:50 +02:00
Thomas Geymayer
0fc2d57211 Scripting: expose flight history as aircraft.history()
var hist = aircraft.history();
 debug.dump(hist.pathForHistory(50));
2014-05-10 10:56:09 +02:00
Thomas Geymayer
bd29974683 Canvas: move Window class to simgear. 2014-05-09 16:42:54 +02:00
Torsten Dreyer
b80b010ef1 Use FLITE voices in FGVoiceMgr
This patch enables spoken words without the need for external
festival using the existing FGVoiceMgr subsystem and the
properties under /sim/sound/voices
To hear the generated voices, set /sim/sound/voices/enabled=true
at startup

- use FLITEVoiceSynthesizer if a voice has <festival>false</festival>
- use FLITEVoiceSynthesizer if the festival server is unreachable
- decouple FGFLITEVoice from FGVoiceThread
2014-05-07 22:12:23 +02:00
Torsten Dreyer
d8c5e394cf Render voice to memory, no more temp files.
Thanks you James
2014-05-07 20:09:15 +02:00
Torsten Dreyer
1c8c74fc76 Compile without ENABLE_FLITE 2014-05-07 19:07:29 +02:00
Torsten Dreyer
4cdb5ed1f3 AtisSpeaker: prepare for individual voices 2014-05-07 17:08:02 +02:00
Torsten Dreyer
36fc9790ed atis voice: add some variation in pitch and speed 2014-05-07 10:34:04 +02:00
Thomas Geymayer
c6371c4152 Canvas: update for SimGear changes. 2014-05-06 18:15:29 +02:00
Colin Douglas Howell
4d1aebad79 Fix for issue 1394 (YASim's geometry for non-cylindrical fuselages is wrong)
Correct handling of fuselage's "midpoint" XML attribute so that the midpoint's
location matches the point assumed by all aircraft developers and YASim docs.
This means the fuselage won't be generated "back-to-front".
Also correct the variation of diameter for tapered fuselages so that both ends
of the fuselage narrow from the midpoint to the endpoints.
Before this, one end was narrowing from the endpoint to the midpoint, the
opposite of what was expected.
These changes affect both weight distribution and the distribution of lateral
aerodynamic forces.
2014-05-06 10:38:48 +02:00
Torsten Dreyer
19aedd4523 Add GPL header 2014-05-06 10:33:50 +02:00
Torsten Dreyer
dd127de32b Changes to voice + atis
- Add a very simple line-of-sight propagation model for the radio
  range computation.
- Remove some no longer used debug log messages
- Some code cleanup
- add-noise is now on by default
2014-05-06 10:23:04 +02:00
Torsten Dreyer
59db0534ff Fix a warning, no functional change 2014-05-05 22:24:47 +02:00
Torsten Dreyer
99dd8c08b5 commradio: typo: cuttoff --> cutoff 2014-05-05 13:22:39 +02:00
Torsten Dreyer
7dc2ee46a2 commradio: add squelch
adding property cuttoff-signal-quality to the comm radio
If signal-quality goes below this value, atis sound is muted.

Also: initialize property power-btn if not defined by the
aircraft or instrument designer
2014-05-05 13:20:03 +02:00
Torsten Dreyer
86b3469fbf JSBSim: fix zero agl above scenery discontinuity
see http://osdir.com/ml/flightgear-sim/2014-04/msg00145.html
2014-04-30 16:41:27 +02:00
Torsten Dreyer
46584bfc92 commradio: no spoken atis if sound disabled 2014-04-30 10:50:57 +02:00
Torsten Dreyer
88e5dc873f Cleanup part2. Forgotton file. 2014-04-30 10:45:52 +02:00
Torsten Dreyer
d2c000699f Cleanup of ATCDCL
- move FGATCAlignedProjection class as AlignedProjection
  to dclgps, the only place where it's currently used
- remove now obsolete files in ATCDCL
2014-04-30 10:22:51 +02:00
Torsten Dreyer
14c918a7ef commradio: improvements for atis speech
- use individual SampleGroup refnames for each radio
- enable volume control for atis speech
- (optionally) add noise based on signal quality
2014-04-28 23:50:45 +02:00
Torsten Dreyer
d5d88f2850 commradio: refactor MetarSpeaker to AtisSpeaker 2014-04-28 22:02:48 +02:00
Torsten Dreyer
6ee2fcdd9e Allow using the system version of flite and the HTS engine
By default, if the system version exists and can be used,
then it will be used. Otherwise, the local version will be used

Original patch by  Saikrishna Arcot via
https://gitorious.org/fg/flightgear/merge_requests/1582
slightly modified
2014-04-28 21:33:48 +02:00
Torsten Dreyer
4d4e1a2371 VoiceSynthesizer: add some test/debug properties
/sim/sound/voice-synthesizer/volume to set the volume of the generated wav (in dB)
/sim/sound/voice-synthesizer/keep-scratch-file do not remove the scratch file if true
2014-04-27 22:53:59 +02:00
Torsten Dreyer
38e2b8b11c Temporary fix for crash in FGVoiceMgr on reset 2014-04-27 21:38:24 +02:00