1
0
Fork 0
Commit graph

2228 commits

Author SHA1 Message Date
ThorstenB
88592bfe71 splash screen: use language resource for translation
Also pimp the progress spinner.
2012-09-21 19:36:25 +02:00
ThorstenB
05e9172220 Avoid AL warning messages when using "--show-sound-devices". 2012-09-21 15:33:13 +02:00
ThorstenB
f8b689c040 Allow instruments/systems to reset on sim reset
so they can instantly adjust to the changed environment.
(Not fully working yet, since some environment settings, like environemnt
pressure/temperature, still changes slowly after a sim reset - instead of
immediately jumping to the new setting. Also, METAR sometimes arrives too
late...).
2012-09-19 20:57:52 +02:00
ThorstenB
a68716316f Adjust subsystem order (instruments vs systems)
"instruments" depend on "systems" (pitot/static pressure etc), so
"systems" should be there first.
2012-09-19 20:53:54 +02:00
ThorstenB
f6207d5cb8 Minor renaming issue. 2012-09-19 20:52:36 +02:00
James Turner
029012b8b9 Kill off some globals.
Break some subsystem dependencies, by explicitly using properties to read the primary position, orientation and velocities. (Instead of directly accessing the primary model placement). This means a couple more globals can die.
2012-09-19 18:17:44 +01:00
James Turner
c9351e0185 Whoops, some code got re-introduced.
Merging/rebase the navcache re-added this code to fg_init.cxx, remove it again.
2012-09-19 15:56:23 +01:00
James Turner
50c61b4211 Allow use of the system's SQLite3 library.
Keep distro packagers happy by having the option to use the system's sqlite library instead of our bundled version. Set SYSTEM_SQLITE=1 when running cmake to use the system one.
2012-09-19 14:28:25 +01:00
James Turner
9b900e9430 Implement a persistent cache for navigation data.
Cache the parsed navigation and airport data in a binary file to reduce
startup times and memory consumption (since only referenced FGPositioned
elements are held in memory).

Data will be reimported when the mod-time of any input file is changed.
If a global file is changed (nav.dat, awy.dat, apt.dat, etc), the cache
will be completely rebuilt, which takes approximately 30 seconds on
moderate hardware. (Future work may reduce this).
2012-09-19 11:38:19 +01:00
James Turner
ffbb0a0e5d Sink position-init code into its own file.
Separate other init functions from position init, since they are unrelated, and made fg_init.cxx very complex. Next step will be brining some sanity to the position init logic :)
2012-09-18 20:50:28 +01:00
James Turner
e2eea405a3 Make subsystem init incremental.
(Requires latest SimGear!)

Break fgInitSubsystems into several phases - subsystem creation, then binding and then init. Run init over multiple main-loop iterations so the application stays responsive to GUI/OS events during init. 

There should be no behaviour changes due to this, except that during init Windows and OS-X should no longer show the beach ball / 'application not responding feedback', hopefully.
2012-09-18 20:29:36 +01:00
Stuart Buchanan
9d30d622ae Expose the shader language version, to help diagnostics. 2012-09-18 15:48:06 +01:00
James Turner
505796e349 Make magavr a regular subsystem.
Remove various hacks and make magvar work like a normal subsystem, as part of the environment manager. Fix the remaining users of the globals->get_mag accessor, and hence kill off the global pointer.
2012-09-18 00:58:27 +01:00
ThorstenB
01376eec31 Minor main loop/init clean-up 2012-09-17 13:45:31 +02:00
ThorstenB
06170ddaae Handle scenery-override in a single place only. 2012-09-17 13:45:31 +02:00
ThorstenB
7415696492 Create FGSoundManager as a wrapper for SGSoundMgr_OpenAl
and sink all sound related code from main.cxx in there.
2012-09-17 13:45:31 +02:00
Mathias Froehlich
65a5f6744f cmake: Make rti/hla compile again. 2012-09-16 21:16:57 +02:00
Frederic Bouvier
db53e4c0b8 Sort fgfs source files in IDE folders 2012-09-16 19:26:53 +02:00
Thomas Geymayer
0554d987e8 property-interpolate: support using rate instead of time.
- property-interpolate now supports specifying the
   interpolation time by passing rate instead of the actual time,
   similar to max-rate-of-change in the noise-spike filter.
2012-09-06 14:05:57 +02:00
Stuart Buchanan
cce186a57c Add properties for raw axis and button values, for use
in joystick configuration function.  Also rationalize references to
/sim/fg-home into a global property.
2012-08-23 21:52:30 +01:00
James Turner
7fabeed85d Fix some places relying on public 'using std::string' in SimGear
(Otherwise my next SimGear commit will break them)
2012-08-21 17:07:47 +01:00
ThorstenB
59fe04f8e9 Make web browser app configurable through CMake (for Linux)
so package builders don't need local patches.
Also, instead of hardcoded firefox, use "xdg-open" or "sensible-browser"
launchers on Linux, to auto-detect user's preferred browser.
Override with cmake switch -DWEB_BROWSER=...
(Not affecting Mac/Win which are hard-coded anyway).
2012-08-18 14:11:31 +02:00
Thomas Geymayer
8a6a234653 Canvas: First version of new Canvas GUI system.
- Refactor CanvasMgr into PropertyBasedMgr to be also used
   for the Canvas GUI system.
 - Get rid of tied properties in the Canvas system.
 - Add new placement type 'window' for placing canvases onto
   windows
 - Pass mouse events to Window class (only if cursor is over
   window)
 - Refactor canvas placement clean up
2012-07-31 23:19:23 +02:00
Thomas Geymayer
373d511c69 Canvas: Allow using canvases as PUI widgets.
- Add new widget type canvas
 - Set canvas view dimension from the gui xml.
 - Expose mouse events to canvas widget properties.
2012-07-31 23:19:22 +02:00
James Turner
909ed99332 Ensure WSAStartup is called for metar.exe 2012-07-27 17:51:04 +01:00
Stuart Buchanan
5e3ec6209c Add command to reload materials definitions. Note that this explicitly
does not attempt to delete the old materials definitions, as they
may be in use at the time.
2012-07-19 22:06:08 +01:00
ThorstenB
831662fca8 Option to restore defaults and enable/disable random buildings+vegetation
fgfs can fail to start when random buildings is set to an excessive level,
so you can't even reach the GUI setting to reduce/disable again.
2012-07-15 10:56:59 +02:00
ThorstenB
00fe1e3445 #803: apply hotfix to revive "--carrier" option. 2012-07-14 10:01:29 +02:00
ThorstenB
39a7caae15 Proper error checks for generic protocol.
Drop FGGeneric instances which failed to initialize to avoid run-time
issues.
2012-07-13 20:33:36 +02:00
ThorstenB
7edbf8a8c9 #798: climb rate cannot be higher than the true speed
Don't set vertical-speed on sim reset, unless the user intentionally
requested this as a start-up property.
2012-07-08 11:40:24 +02:00
Thomas Geymayer
569042acbd Allow filling paths and do some clean up/fixing. 2012-06-17 21:14:00 +01:00
Thomas Geymayer
c8e1433a5c Add ShivaVG sources 2012-06-17 21:13:54 +01:00
Thomas Geymayer
df768766d9 Canvas: basic support for OpenVG (path with stroke and pattern)
- Bugfix: Don't access children by index as it's not unique
2012-06-17 21:13:47 +01:00
James Turner
17ec3278ed Remove platform-specific code in favour of simgear::Dir wrappers. 2012-05-31 08:57:22 +01:00
Thomas Geymayer
d82fd7cc5f Basic 2D canvas implementation.
Support text and transformations for the moment, more
features to follow in due course.
2012-05-18 07:05:37 +01:00
James Turner
8f10fff8dc Lazy-loading of the 2D panel node.
Sink the 2D panel logic into FGPanelNode, simplifying
renderer.cxx and a few other places. Also allows potential
for unloading / paging of 2.5D panels in the future.
2012-05-16 11:43:09 +01:00
ThorstenB
a2922e2e23 ATCDCL cleanup, part II.
Remove/comment out obsolete code.
Refactor ATCmgr(-old) into ATISmgr(-new), only keeping the COM radio / ATIS
support.
2012-05-12 23:53:30 +02:00
Frederic Bouvier
6b2ba60772 rename /sim/rendering/rembrandt -> /sim/rendering/rembrandt/enabled
and put rembrandt-related properties in /sim/rendering/rembrandt/
2012-05-12 13:45:36 +02:00
Frederic Bouvier
dd8d9a6f60 First round of changes toward a programmable rendering pipeline.
Stages are predefined for now.
2012-05-12 13:45:35 +02:00
Frederic Bouvier
6b008126b5 Begin to implement configurable rendering pipeline 2012-05-12 13:45:31 +02:00
ThorstenB
b91175d47a Adapt logging level for some messages.
Also keep default logging level during very early startup at "alert"
(unless explicitly set on cmd-line).
2012-05-09 23:56:43 +02:00
ThorstenB
de6ac7153d Improve debug output 2012-05-08 23:04:53 +02:00
ThorstenB
0b7b0f16a8 Improve fgfs startup logging.
Establish log-level very, very early during startup, so debug/info/warning
messages in the very early fgfs startup phase are also shown.
2012-05-08 22:47:32 +02:00
ThorstenB
563ed19f97 Add Windows-specific implementation to determine locale settings. 2012-05-06 23:15:27 +02:00
ThorstenB
0f462d4a6e Fix rpmlint/Linux packager complaints
about outdated/invalid FSF address in some license headers.
2012-05-05 01:42:41 +02:00
ThorstenB
e59fabaf82 Clean-up some SGMath dependencies. 2012-05-05 00:56:29 +02:00
ThorstenB
3986e1fe3a Add separate switch to enable/disable AI scenario support.
Switch is enabled automatically when scenarios are given on command-line.
2012-04-30 19:04:49 +02:00
James Turner
2d267a5782 Remove PositionedBinding (which no one ever used), Nasal is better for this jobs. 2012-04-26 00:37:47 +01:00
ThorstenB
89b41395d8 Move viewer-related sources to separate folder.
Simple source directory clean-up, so "Main" folder contains fewer stuff
and the list of files in the editors a lot shorter.
2012-04-25 23:28:00 +02:00
Frederic Bouvier
7006ca12a8 Don't care about light volumes when picking in the scenegraph 2012-04-24 23:35:05 +02:00
James Turner
fb66aeade1 More search functions exposed to Nasal, also airport parking. 2012-04-24 22:12:56 +01:00
ThorstenB
470552fab1 Move locale code to separate module.
Introduce convenience methods to handle localized string resources
and obtain strings.
2012-04-21 20:17:42 +02:00
ThorstenB
b358af2611 Minor clean-up. 2012-04-21 19:06:10 +02:00
ThorstenB
2a4ab38e70 Move another string to the language resource. 2012-04-18 15:44:42 +02:00
ThorstenB
201d9d7852 Be more tolerant about locale name when detecting the default language,
i.e. consider the German resource provided for "de_DE" or "de" when
locale name is "de_DE.utf8".
2012-04-18 15:43:42 +02:00
James Turner
516d92c077 Fix part of #263, --language option not working for --help. 2012-04-18 12:46:26 +01:00
James Turner
2218a44ed7 Support loading PropertyList data remotely, as part of #450. Along the way, centralise the HTTPClient object so it can be used beyond the METAR download engine. 2012-04-18 10:25:27 +01:00
Frederic Bouvier
7d3195aaa6 Make the number of shadow cascades and the range of each configurable 2012-04-17 09:13:54 +02:00
James Turner
96ee2b1577 Tweak ODGauge usage, fix multiple instances of NavDisplay or wxRadar. 2012-04-15 12:03:21 +01:00
Frederic Bouvier
0a1417e06d Get rid of RG16 buffer made possible by a different way to encode normals 2012-04-12 23:59:42 +02:00
ThorstenB
4348f17b8c #738: crash when switching 2D panels
FGPanelNode doesn't always own its "_panel" object - so it's not ok to
always delete it. Use ref-counting/smart-pointers instead.
2012-04-12 00:03:16 +02:00
Frederic Bouvier
ec4b006c08 Rembrandt: Restore rendering stats
intercept first change in stats display to change stats handler camera render order
2012-04-09 17:41:33 +02:00
ThorstenB
9effb06047 Fix scenery reload issues.
Aircraft could fall through the ground on scenery reload. Properly reset
the "sceneryloaded" flag to pause FDM processing while scenery is being
reloaded. Also stop processing some instruments while scenery is reloaded.
2012-04-07 16:20:22 +02:00
Frederic Bouvier
43f7ebcb35 Restore splash screen for the Rembrandt renderer 2012-04-05 23:30:38 +02:00
ThorstenB
8c74b47a0d Add "--max-fps" option to limit frame rate. 2012-04-05 21:02:09 +02:00
Torsten Dreyer
68e1a8c4cb Autopilot: save loads of CPU cycles
Not every xml-autopilot filter needs to run at the update rate
of the FDM. This only makes sense for the autpilot filters. Those,
who update instrument needles or environment properties for example
may run at frame rate.
This patch (thanks to ThorstenB, who is the author) forces those
filters defined in /sim/systems/autopilot into the FDM loop and those
defined in /sim/systems/property-rule into the default loop. They
show up as xml-autopilot and xml-proprules in the performance monitor
2012-04-05 20:40:07 +02:00
Frederic Bouvier
44de0e1df4 Honor /sim/rendering/shadows/enabled preference 2012-04-04 20:43:16 +02:00
Frederic Bouvier
f7174f5422 Code cosmetic 2012-04-03 23:17:04 +02:00
Frederic Bouvier
8f5e9619aa Fix issue with sky added in commit 25e0ab0b82 2012-04-03 08:41:28 +02:00
Frederic Bouvier
93ad2f2ef6 Hopefully fix the shadow disappearing because of range animation issue in a more elegant way 2012-04-02 23:54:31 +02:00
Frederic Bouvier
65d86e872d Restore messages and fog draw order reverted in the previous commit 2012-04-02 23:36:34 +02:00
Frederic Bouvier
93d97374e1 Revert "Disable LOD when rendering to the shadow map."
This reverts commit e46357d819.
2012-04-02 20:07:29 +02:00
Frederic Bouvier
25e0ab0b82 Enable light source for transparent surfaces 2012-04-01 23:37:47 +02:00
Frederic Bouvier
e46357d819 Disable LOD when rendering to the shadow map.
Produce few NaNs at start
2012-04-01 23:07:33 +02:00
Frederic Bouvier
b05bbddde5 Make the shadow map available for effects 2012-03-31 22:50:38 +02:00
Frederic Bouvier
7e6ecfec56 Fix picking zone display 2012-03-31 21:59:50 +02:00
Frederic Bouvier
e4094356f5 Be sure to not render light volumes in the classical renderer 2012-03-31 20:39:47 +02:00
Frederic Bouvier
2416f9f8d8 Working spot and point lights
Use 8bit normals if /sim/rendering/no-16bit-buffer is set to true. May be usefull for old card returning 0x8cda at fbo setup time
White/gray specular material
s/Tabs/Spaces/
2012-03-31 20:16:36 +02:00
Frederic Bouvier
954a09dce1 Shadow map size settable at run-time. It needs to be a power of two. Now needs a real gui dialog 2012-03-30 22:30:26 +02:00
Frederic Bouvier
1194f1f991 Implement Cascade Shadow Mapping in the Rembrandt renderer.
Shadow map size is set by the /sim/rendering/shadows/map-size property before starting fgfs. Its default value is 4096. Maximum value is 16384 in most card
2012-03-30 07:28:04 +02:00
Frederic Bouvier
8a382cd536 Fix normal storage into texture data. Input [-1..1] should be output to [0..1] 2012-03-28 22:39:28 +02:00
ThorstenB
834d4e1e3e CameraGroup: adapt order of member vars to their init sequence.
(Avoids flood of "init sequence" GCC warnings, whenever CameraGroup.hxx
is included anywhere)
2012-03-26 21:21:41 +02:00
ThorstenB
d436484c21 Prevent negative alpha value
(affects splash screen)
2012-03-26 21:11:04 +02:00
James Turner
a38362646d Don't create intermediate static libraries for build fgfs. (Speeds up rebuilds in Xcode dramatically, possible in other IDEs too) 2012-03-26 13:09:39 +01:00
Frederic Bouvier
2e735e6234 Warn of harmless messages caused by the Rembrandt renderer 2012-03-25 19:05:10 +02:00
Frederic Bouvier
79396655a3 Remove tabs 2012-03-25 16:07:56 +02:00
Frederic Bouvier
416e6df9e3 First, preliminary, code of the Rembrandt renderer.
The new renderer is activated by the --enable-rembrandt option, or in the preferences.xml file.
The renderer at this stage doesn't have shadows yet, and shows a lighting bug. The slash screen doesn't work too.
2012-03-25 16:06:54 +02:00
Frederic Bouvier
86185c8014 Add options to enable or disable the Rembrandt renderer 2012-03-25 15:28:19 +02:00
Frederic Bouvier
400129ae15 Allow any number of cameras as render stages for a single viewport 2012-03-25 15:28:17 +02:00
Frederic Bouvier
19e7163971 Compile with MSVC 9 2012-03-25 14:39:24 +02:00
Frederic Bouvier
94e3ae4c67 Choose renderer from /sim/rendering/rembrandt property 2012-03-25 14:39:22 +02:00
Frederic Bouvier
1a3f69723b Move camera setup to the renderer 2012-03-25 14:39:19 +02:00
Frederic Bouvier
bca4683d52 Small refactoring in CameraInfo 2012-03-25 14:37:43 +02:00
ThorstenB
22c20a2f09 Make FG_OPTIONS_EXIT work.
'fgfs --version' wants to exit...
2012-03-17 12:01:51 +01:00
James Turner
8c187164fe Work on making 2D panels act like standard scene-graph elements for picking and drawing.
(This includes 2.5D panels in the 3D scene)
2012-03-16 17:22:18 +00:00
Mathias Froehlich
1ddb658a70 scenery: Move flightgears paging back into the application.
This way of scenery paging is really application code.
Now that the simgear stg loader is seperated from the paging
code, this appication specific paging can reside here.
May be at some time also use the spt stuff here.
2012-03-15 20:56:37 +01:00
Mathias Froehlich
44c716bb03 scenery: The tile entries load callback is not needed anymore.
The stg loader can do this itself.
2012-03-15 19:39:07 +01:00
Torsten Dreyer
5caa42af8e Make use of auto-coordination more flexible
- move property /sim/auto-coordination to
  /controls/flight/auto-coordination
- introduce new property /controls/flight/auto-coordination-factor
  with default of 0.5
- auto-coordinate the rudder if auto-coordination is true and the factor
  is greater than zero

backward compatibility for the old property is temporary provided by
a temporary Nasal hack in FGDATA/Nasal/aircraft.nas
2012-03-13 21:00:22 +01:00
ThorstenB
0abf252ec8 Use tiedPropertyLists instead of manually matched tie/untie calls.
Ensures we don't forget to untie some individual properties.
2012-03-04 15:30:08 +01:00
ThorstenB
d0d86bf0b7 Fix type issue.
multi-sample-buffers is int, not bool.
2012-03-03 21:39:22 +01:00