1
0
Fork 0
Commit graph

8850 commits

Author SHA1 Message Date
jmt
7345a044e0 Split runway and taxiway into separate classes, with a (new) common base.
This makes taxiways smaller (important since at present there are so many).
Restructure the apt.dat parsing code to use a helper class instead of one long
function, and to do less work when parsing the file.

Some of these ideas come from Yon Uriarte's patches - thanks Yon.
2009-01-04 00:08:12 +01:00
Tim Moore
4f18563281 Merge branch 'tbm/graphics-bug' into maint2 2009-01-04 00:05:45 +01:00
Tim Moore
0603aba9ae Merge branch 'tbm/graphics-bug' into next 2009-01-04 00:03:26 +01:00
Tim Moore
43b300fe46 Merge branch 'maint2' into next 2009-01-04 00:01:46 +01:00
fredb
6ccc0b64ef Win32 fixes 2009-01-04 00:00:20 +01:00
fredb
f12b1f00ec Remove warnings 2009-01-04 00:00:02 +01:00
timoore
61a496c2ea Set far camera reference frame to ABSOLUTE_RF
This was lost when I stopped cloning the near camera to make the far
camera. The result was a lot of breakage, including explicit camera
configurations not working and various ordering issues too.
2009-01-03 23:56:58 +01:00
timoore
74031287b4 Set BACKGROUND_BIT as camera node mask.
This prevents the dreaded black rectangle from appearing on systems
that don't have OpenGL frame buffer object support.
2009-01-03 23:56:39 +01:00
timoore
ada7f622d7 Change the order of the main cameras from NESTED_RENDER to POST_RENDER
This seems to be accepted OSG usage for slave cameras. It's possible
that this order is important for rendering instruments that use RTT
textures on systems without frame buffer object support. I'm thinking
that the resulting bugs may be implicated in the "black rectangle" problem.
2009-01-03 23:56:03 +01:00
timoore
60e8f14d5b Don't clone far camera; create a new one and initialize it from the near camera
The clone operation may be sharing things that shouldn't be shared.
2009-01-03 23:55:44 +01:00
timoore
d43e0b83f7 Expose the CameraGroup near, far, and near/far boundry as properties
The near/far boundary, called "near-field", can be set to 0 which
disables the far camera and renders the whole scene using only one
camera. I'm hoping that this may be useful in resolving some
system-specific rendering bugs.

Various fixes were made to correctly render the scene using only the
near camera.
2009-01-03 23:53:04 +01:00
jmt
f1b10eddfa FGAirportList is gone. Everything should work as before, especially the
AirportList dialog. (It would now be possible to trivially implement a
VOR or NDB named search, if anyone wants such a thing).
2008-12-27 13:20:08 +00:00
jmt
b58c8b6f19 Further work (still not enabled) on a fast + correct implementation of the
airportList search function. At least for me (with a mutex-based SGAtomic),
large vectors of referenced-pointers is a Bad Thing - copying on vector
resize is thrashing the locks.
2008-12-27 10:08:12 +00:00
jmt
cf42cfab16 Fix up environment code for threading-enabled case, d'oh. 2008-12-26 15:33:38 +00:00
jmt
660d59a098 Another clean-up iteration: FGAirportList::search is gone, replaced by two
static FGAirport helpers. As a result, another global index goes away. Use
the helpers to avoid ugly FGPositioned down-casts in various places.

Also converts the environment/METAR code to deal with FGAirport pointers,
instead of string identifiers, and contains work-in-progress code to implement
the AirportList dialog using FGPositioned. This isn't enabled yet for various
reasons, but is the final piece to allow FGAirportList to be removed.
2008-12-26 15:26:42 +00:00
jmt
b2d4612beb Fix more test/util linkage for sgmath depending on sgstructure. 2008-12-26 12:38:32 +00:00
jmt
0f4f044a94 Kill off many Point3D includes, and a couple of uses in the HUD code.
Requires a SimGear update to get some new SGGeodesy helpers.
2008-12-26 12:28:05 +00:00
jmt
82bfb6a08d Clean out FGAirportList - not quite obsolete yet, but the spatial queries are
gone. This is good news, since the old query was implemented as a linear
search, sorted by Manhattan distance, and with a warning not to use the logic
at runtime. Various systems (such as the Mk-VIII) do query such data often,
eg every second.

Also gets Point3D out of Airports/simple.hxx, as a precursor to removing it
completely.
2008-12-26 11:15:00 +00:00
jmt
988de9dbca Remove all name and spatial queries from FGNavList. All remaining queries are
by frequency (which makes sense), and use the FGPositioned spatial data if
required. As a result, the marker beacon list is gone (since beacons are only
searched spatially). In the process, clean up various minor things - most
notably, all the 'airport-related' navaids (ILS, GS, LOC, and the beacons) now
store a FGRunway* instead of an airport id string. This is more precise, and
saves string allocations.
2008-12-25 23:11:43 +00:00
jmt
02d1b14c1a Finish conversion of FGRunway to a real class - all public members are gone. 2008-12-24 15:45:35 +00:00
jmt
7d5d756095 FGPositioned clean-ups - apply some desirable changes (such as making members
const) which were previously tricky but now easy. Make it possible not to
index certain types (used for taxiways) and exclude anonymous items from
the name index. Related to this, clean up FGRunway further - remove some public
members, and fix a dumb bug of mine, where we create reciprocal entries for
taxiways.

This should make startup (slightly) quicker, and shrinks FGRunway somewhat.
2008-12-24 14:48:30 +00:00
jmt
335584e29c Remove the FGIdentOrdering cruft from FGAirport; now handled by FGPositioned. 2008-12-24 04:58:36 +00:00
jmt
059f2e6a8e Convert the only remaining user of FGFixList to use an FGPositioned query,
and hence remove the query code from fix-list. The only remaining code deals
with parsing fix.dat.
2008-12-23 14:41:58 +00:00
jmt
d6277068f5 (first commit, partly a low-risk thing to sanity check my setup)
Add a helper predicate to FGAirport to encapsulate the common 'does this
airport have a suitable runway of at least xxxx ft?' query. Also add a
FGPositioned filter built on the predicate, and a 'closest airport' helper.
2008-12-23 12:37:59 +00:00
mfranz
ed1369bd8a Stuart BUCHANAN: fix METAR cloud interpolation
"I've managed to fix this by differentiating rebuilding the 3D layers
(e.g. due to METAR updates) from rebuilding the entire environment (due to a
change in scenario)."
2008-12-21 15:52:29 +00:00
fredb
359ab0c207 Don't try to fetch tiles when lat or lon are invalid 2008-12-21 09:29:33 +00:00
mfranz
6fa20b5903 revert to using a cached list of aircraft -- scanning the Aircraft/
dirs is only fast enough with hot file-cache, but a bit too painful
otherwise. Updating the aircraft.list is now easier, though: Just
type   $ fgfs --aircraft=?<TAB>
2008-12-20 23:24:50 +00:00
fredb
eba2fd014d Fix path 2008-12-20 15:41:45 +00:00
fredb
fac5c8e63c Packaging for the 1.9.0 release 2008-12-20 15:15:30 +00:00
mfranz
a9667c129c better instructions 2008-12-20 12:50:03 +00:00
mfranz
163e593331 viewer position: tie variables directly, rather than getter functions 2008-12-20 12:49:37 +00:00
mfranz
f382f053ff live-compile aircraft list, instead of requiring to build it
regularly. That's fast enough.
2008-12-20 10:32:42 +00:00
durk
c14730b697 Documentation update: Openal & OSG. 2008-12-20 09:12:31 +00:00
fredb
c7b896c8c6 Stuart : The attached patch
reverts one of my changes which ensured that the 3D clouds were updated with
METAR. Unfortunately this had the side-effect of over-writing the environment
properties, and therefore nuking the interpolation work.
2008-12-19 23:11:58 +00:00
curt
231225da67 Attempt to sort out the version number mess in preparation for the v1.9.0
release.
2008-12-19 20:41:57 +00:00
mfranz
29be38ed2a mark file names (for post-processing) 2008-12-19 13:38:25 +00:00
mfranz
df0f0a531f export absolute viewer coordinates 2008-12-19 13:37:54 +00:00
fredb
b0b4ab5003 Stuart Buchanan :
Attached is yet another 3D clouds patch, to fix the following:
1) The 3D clouds were not modified by the cloud coverage, due to some problems with osg::Switch
2) METAR changes to cloud coverage were not obeyed.
3) Making changes via the Cloud dialog had no effect unless 3D clouds were toggled.
4) Cloud cover was too sparse.
5) 3D Stratus clouds caused performance issues on some hardware (fixed by removing 3D stratus from cloudlayers.xml - it will now be a 2D layer).
2008-12-19 07:42:13 +00:00
mfranz
35f7f55507 Csaba/"Jester" and /me: since a few weeks the property browser had
displayed garbage in the title line if one left a directory. Jester
spent a lot of time finding the cause: a bug that must have been
there since ... forever: fgfs reported to PUI the string addresses
as returned by SGPropertyNode::getStringValue() without considering
that this address isn't valid after the next write access to that
node! It's almost a miracle that it worked so well for so long,
despite that issue. (I also used to opportunity for some more
cleanup -- so I'm to blame for any newly introduced bugs, and
also for reverting some of Jester's cleanups. :-)
2008-12-18 20:18:50 +00:00
mfranz
4560580a4d now that /environment/weather-scenario is respected at startup, we
actually have to set it to get live weather.
--enable-real-weather-fetch shall imply weather-sceneario=METAR.
2008-12-18 13:08:44 +00:00
mfranz
400b5a853e segfault-- 2008-12-18 11:49:33 +00:00
fredb
91420a196e James Turner : in the 'tower' view, where the tower position is explicitly given in apt.dat (most of the larger airports), I was incorrectly treating the tower elevation as ASL, when it's AGL. 2008-12-18 06:52:51 +00:00
mfranz
084ba158b7 Stuart BUCHANAN:
"fixes the issue reported by Martin where
--prop:/environment/weather-scenario=METAR had no effect"
2008-12-17 19:51:18 +00:00
fredb
35f973ece1 Stuart :
the 3D clouds now respect changes to the environment caused by updated METAR etc.

It also increases the AlphaFunc as suggested by Tim.
2008-12-14 18:48:00 +00:00
mfranz
404c3c863a include png and xcf files by default 2008-12-13 20:17:02 +00:00
fredb
cc37d8740c Csaba/Jester : fix an incorrect string comparison in metar 2008-12-13 06:08:22 +00:00
fredb
0dd1c66f95 Really catch sound exceptions, and avoid exiting on this kind of error :
OpenAL error (AL_INVALID_VALUE): constructor (alBufferData)
Failed to buffer data.
2008-12-12 07:35:39 +00:00
fredb
6a154a59e1 Stuart :
- Removes the cloud type re-use code - I think they aren't worth the graphical artefacts that they cause in light of Tim's improvements
- Changes the transparency of the clouds. Previously, the clouds were transparent at 0m distance, opaque at 200m, then gradually more transparent to the fog limits. This meant they were generally quite transparent. Now, they are opaque from 200m to 15km, then become transparent at 20km. A side effect of this is that the current textures could probably benefit from being made slightly transparent to improve the blending of the sprites against each other.
2008-12-11 08:24:58 +00:00
fredb
54ab10854d Update to -rc2 2008-12-11 08:18:50 +00:00
durk
ad4bd6c2ce Some final adjustments:
- Remove Concorde, as announced
 - Add a missing directory to utils/Makefile.am, which caused an autoconf
   error.
2008-12-10 18:41:34 +00:00