1
0
Fork 0
Commit graph

5051 commits

Author SHA1 Message Date
andy
ae66636ac5 Fix leak in interpolate(). Also give property nodes a name so they
look better in debug output
2008-01-22 20:09:02 +00:00
curt
98d940a790 Packet should be formated in network byte order. 2008-01-21 19:11:32 +00:00
timoore
1b439f8501 Memory leak fixes from Till Busch 2008-01-19 18:06:05 +00:00
timoore
fde0f8eb3c segfault in fg_fx.cxx fix
Check for null fx node, submitted by Tiago Gusmão.
2008-01-17 08:28:43 +00:00
fredb
63f471e394 Josh Babcock:
I got tired of watching all those http requests scroll over the screen, so I made them SG_LOG( SG_IO, SG_INFO, );

FB: adapt a bit
2008-01-12 17:13:57 +00:00
timoore
50461db267 Add checks to avoid writing NaNs into the scene graph transforms 2008-01-10 08:22:48 +00:00
andy
2679517fff OS X build fixes from Hans Fugal 2008-01-09 19:59:56 +00:00
timoore
1066c6b23a cleanup of dead code and change ViewPartitionNode::makeNewProjMat be public static 2008-01-06 23:03:19 +00:00
timoore
b2b35568d7 Ballistics underslung load changes from Vivian Meazza 2008-01-04 22:31:18 +00:00
timoore
4208cf8226 Add ViewPartionNode to the scenegraph
ViewPartitionNode addresses Z-fighting issues by rendering near and far
parts of the scene seperately.
2008-01-04 07:35:43 +00:00
curt
9f9d2f934a Return the --fov= to it's original functionality. 2007-12-29 21:51:39 +00:00
timoore
7aee6b0a60 Ballistics fix from Vivian Meazza 2007-12-28 22:05:14 +00:00
frohlich
e81af16b75 Modified Files:
src/Main/renderer.cxx: Use osg::Hint instead of glHint.
2007-12-26 20:33:55 +00:00
frohlich
b69ec6fceb Modified Files:
fg_os_osgviewer.cxx: Use the DISPLAY environment variable
	if not set otherwise.
2007-12-26 12:19:20 +00:00
timoore
d5ba35dddb Remove references to SceneView and CameraView 2007-12-22 23:26:56 +00:00
timoore
9ecc3415fb Experimental patch for applying force to ballistic objects
From Vivian Meazza
2007-12-21 23:37:05 +00:00
mfranz
4ac892c23e s/no-warning/depreciated/, so people adding that to custom huds understand
better what they are doing  :-)
2007-12-21 12:03:10 +00:00
mfranz
57f4876c59 depreciation warning for users of old custom HUDs 2007-12-21 11:39:51 +00:00
fredb
bcebdaa053 Fix tabs and spaces. No overflow risk here 2007-12-21 07:52:26 +00:00
timoore
853e371d1e Fix for "falling through ground" problem
The LOD far range on the tile entry scenegraph node was initialized to
0. This meant that any traverals of active children that happened
before the tile manager updated the node would ignore the node
altogether. Among these is the groundcache traversal which was failing
at startup even though scenery was loaded.

Also added a function to dump scene graph nodes to files; very handy
in gdb.
2007-12-20 23:20:51 +00:00
timoore
f105f47e91 Added copyright to SceneryPager. Removed FGTileLoader 2007-12-15 06:01:24 +00:00
timoore
7ca1a60e91 Check if request has already been satisfied 2007-12-14 22:52:57 +00:00
timoore
7cb5fd170a schedule tiles in Inited state if we get a valid bucket 2007-12-14 22:52:31 +00:00
timoore
17b321c44f Set up pager in GLUT embedded osgViewer 2007-12-14 22:52:15 +00:00
timoore
616b2bf4f6 Use the OSG DatabasePager instead of FGTileLoader
Make an OSG file reader for .stg files.

New class flightgear::SceneryPager, which is a subclass
osg::DatabasePager to handle explicit delete requests.

Modify FGNewCache, FGTileEntry, and FGTileManager to use
SceneryPager. Mostly this involved removing the queues that talked to
FGTileLoader.

Calculate accurate tile timestamps from the time they are traversed in
the cull stage (which means that they are visible) instead of updating
them periodically.

Replace tile entry transform and range node with one LOD node
2007-12-14 22:51:56 +00:00
timoore
149419386d Update GroundLightManager
Also use GroundLightManager to manage light node masks.
2007-12-13 23:30:54 +00:00
timoore
3b26a3219c Fix mouse warping for embedded osgviewer in SDL
As in the GLUT implementation, let the FGManipulator drain its event queue.
2007-12-12 22:36:23 +00:00
timoore
1ec9d615ff Handle warped pointer in embedded GLUT osgViewer
Signal the FGManipulator that a warp has occured so that it can drain its
event queue, but otherwise no warp handling is done in GLUT specific code.
2007-12-12 08:24:27 +00:00
durk
50ba7b93b8 Make sure fgfs finds the correct version of the base package. 2007-12-11 21:48:00 +00:00
timoore
579b60b8e4 Check if scenery is available before blowing away existing values in ground cache
This fixes a race condition when teleporting somewhere outside of the
currently loaded scenery. Before, if there was no valid scenery, an
aircraft might end up at the center of the earth...
2007-12-11 11:10:35 +00:00
frohlich
aed97e0dd4 Use a render target fallback that works in any case.
Avoids a crash on dri cards on linux.
2007-12-11 06:19:08 +00:00
andy
57918533eb Maik: add ROTORBALANCE axis. Fix spelling of ROTORRELTARGET. 2007-12-10 19:25:24 +00:00
mfranz
b0cd31415a Tatsuhiro NISHIOKA: initialize classes (fixes segfault on exit on MacOS) 2007-12-10 19:17:57 +00:00
mfranz
603778eb1e add some generic properties for free use 2007-12-08 09:49:16 +00:00
timoore
d6c97951ca Check for valid multiplayer packet.
Instead of just reporting that the magic number, length, etc. of a
multiplayer packet is invalid, abort processing this packet. Also,
check if enough space remains to send a property string.
2007-12-07 12:43:42 +00:00
timoore
743522fcd1 Add an option to FGTextureManager to create dynamic textures.
Dynamic textures shouldn't have their STATIC attribute set.
2007-12-07 09:14:16 +00:00
timoore
3426e3cde3 Changed GLUT support to use an embedded osgViewer too 2007-12-07 09:11:46 +00:00
mfranz
8380fb4463 - move exception handling from init() and childAdded() to add_model()
- tell why loading a model failed
2007-12-06 18:32:43 +00:00
mfranz
50dabcaf66 tell *why* loading a model failed 2007-12-06 18:04:19 +00:00
mfranz
98afaf4450 add runway number as "id" to the runway hash within an airport hash
(It's already available as runway hash key, but the runway hash shouldn't
depend on it and be self-contained.)
2007-12-05 10:57:51 +00:00
mfranz
32dfdaea61 backport from JSBSim/cvs: apply prop sense only once (OK'ed by JSB) 2007-12-04 20:22:36 +00:00
fredb
1d44e93c73 Win32 fix 2007-12-02 12:29:29 +00:00
mfranz
2d6f38505d make the state of the Meta and Super modifier keys available. These keys
are not available out-of-the-box on all systems and keyboards, and should
therefore not be used in files committed to CVS. This makes them well
suited for local key bindings, as they aren't likely to get overwritten
with later releases. SDL supports Meta and Super, OSG supports only Meta,
and GLUT supports neither.

(Somehow this part escaped the previous commit. :-)
2007-12-02 10:36:58 +00:00
mfranz
7167d20f4f read key code and modifiers back in after event interface call 2007-12-01 23:37:58 +00:00
mfranz
5934acbef9 add <mod-meta> and <mod-super> XML elements for key bindings 2007-12-01 16:38:49 +00:00
mfranz
9fa86acc65 make the state of the Meta and Super modifier keys available. These keys
are not available out-of-the-box on all systems and keyboards, and should
therefore not be used in files committed to CVS. This makes them well
suited for local key bindings, as they aren't likely to get overwritten
with later releases. SDL supports Meta and Super, OSG supports only Meta,
and GLUT supports neither.
2007-12-01 13:09:11 +00:00
timoore
ae8509c827 Rewrite SDL code to use an embedded osgViewer.
This uses the osgViewer infrastructure instead of setting up and osg::SceneView.
When the same change is made for glut, much of render.cxx can be deleted.
2007-11-30 00:01:01 +00:00
timoore
49f7330150 move callback registration functions to fg_os_common.cxx 2007-11-30 00:00:36 +00:00
timoore
ec61e15e89 backport of code using ModelRegistry 2007-11-29 23:59:47 +00:00
timoore
a76f3863bf Move to loading tiles and their submodels only by name.
Some cleanup in tileentry.cxx, but mostly code to implement loading of tiles
and their models without reference to FGTileEntry or SGBucket structures.
Also, don't do deferred model loading; load them when the tile is loaded.
2007-11-29 23:59:14 +00:00
mfranz
d76f26dcea Tiago GUSMAO: keep sound muted after pause/unpause 2007-11-24 08:40:04 +00:00
timoore
2a03296e5e initialize _material pointer in FGGroundCache
_material was uninitialized. This was causing a segfault with
as-yet-to-be-checked-in paging code; I don't know if it ever resulted
in a segfault with the old tile loader, but it certainly could have.
2007-11-22 23:46:39 +00:00
curt
8f64d4820c Add a command to dump just the terrain portion of the scene graph to a .osg
file.  Possible uses of this functionality could include converting the
model to some other format or coordinate system for use in some other
visualization or simulation.
2007-11-21 20:51:49 +00:00
mfranz
9ce320c558 initialize release_keys array 2007-11-17 17:38:48 +00:00
durk
1acc536de1 Changed to use getId() instead of using a direct iterator comparison,
because MSVC8 crashed on that.
2007-11-17 13:46:35 +00:00
mfranz
8ec42c1aae - move temporary keyboard fix from input.cxx to fg_os{,_sdl}.cxx.
This is required to make sure the same letter key gets released,
  which got the press event. (After Ctrl-press -> a-press -> Ctrl-release
  a-release we want the Ctrl-a binding released, not the a binding.)

- add key listener interface for direct key access from Nasal space
2007-11-12 19:29:08 +00:00
mfranz
5b76cb5409 also copy name & type to /sim/current-view
That's useful for animations, and we can't rely on numbers. And shouldn't.
2007-11-09 17:43:22 +00:00
frohlich
ba10199188 Move some values exclusively used by LaRCsim to LaRCsim 2007-11-09 05:39:13 +00:00
mfranz
e69b633060 don't overwrite rudder position with nose wheel position 2007-11-07 17:41:31 +00:00
mfranz
2d23ccd650 mainloop: move event_mgr and viewmgr updated before spatial sound calculations 2007-11-07 15:57:38 +00:00
mfranz
271487328a move event_mgr and view_mgr bundle right before the requestRedraw()
This fixes the last jitter problems with views attached to MP/AI
objects, and doesn't seem to cause any new ones.
2007-11-06 21:05:38 +00:00
mfranz
0ad534b55d change update order to fdm -> events -> viewmanager
This removes some jitter in cases where Nasal is used to set up view
parameters from FDM data, such as position and orientation. (The event
subsystem handles Nasal's settimer() calls.)
2007-11-06 12:01:29 +00:00
mfranz
7810fbc632 revert swapping of x & y offsets in "lookat" mode
This was correct in the old repository and in revision 1.1 of the new,
but then broken in revision 1.2. After that, "lookat" and "lookfrom"
mode used different coordinate systems, and the "Adjust View Distance"
didn't work correctly in "lookat" mode.
2007-11-05 22:19:39 +00:00
mfranz
5d8e5f29e0 Csaba HALASZ: fix IVSI instrument problem
"I have been investigating the Concorde IVSI problem. I came to the
conclusion that the trouble is that the environment altitude and thus
the pressure (which is calculated from that) is lagging by 1 frame.
Normally that wouldn't be a problem, but the IVSI calculates rate of
change and it will use the new dt with the old value difference,
thereby arriving at bad results if dt changes (and it does)."
2007-11-03 21:02:28 +00:00
mfranz
d79ae7a819 sorting nodes -> don't use shared pointer 2007-11-03 17:04:04 +00:00
curt
0ddb883451 Add a --vehicle= option which is a synonym for --aircraft= but is more
natural when selecting ground vehicles like a jeep or a snowplow.
2007-11-02 18:39:10 +00:00
mfranz
f8d792e82d sort entries alphabetically (consistent with property browser) 2007-10-27 21:28:56 +00:00
mfranz
eadb480b31 try to fix yet another crash bug (don't worry, there's one for anybody!) 2007-10-27 19:16:39 +00:00
mfranz
b303db13e3 re-active commented out "delete". Doesn't seem to crash anymore. 2007-10-27 19:13:42 +00:00
mfranz
57a70fc141 unescape \a and \b as well 2007-10-27 17:25:39 +00:00
mfranz
1c1559f36c make sure snprintf() buffer is terminated 2007-10-27 17:16:00 +00:00
andy
6432d714cc Fix memory leak introduced when we stopped using _context for script
invocations, but left it in place for miscellaneous allocation work.
Contexts cache allocated objects in a temps vector and only clear it
out when they are used.

Also, fix a type warning while I'm in there.
2007-10-24 18:07:02 +00:00
mfranz
44a1dbf090 don't initialize iterator twice 2007-10-22 17:28:08 +00:00
mfranz
dd964fef6e getAttribute(): s/refcount/references/ 2007-10-21 20:19:12 +00:00
durk
270444a675 Use SGSharedPointer instead of the ssgSharedPointer from the plib branch. 2007-10-20 18:28:22 +00:00
mfranz
2a70b87493 make node.getAttribute("refcount") return the SGSharedPtr's refcount
(meant for debugging purposes)
2007-10-20 17:16:43 +00:00
durk
f5e9e1898f Miscellaneous tweaks and Bugfixes. Mostly memory leaks ported from the plib
version
* Delete ai list objects in ~ATC/AIMgr.cxx:AIMgr::~AIMgr()
* Delete colors in GUI/new_gui.cxx: NewGui::~NewGui.cxx
* Delete memory allocated to the class member "route" in
  Instrumentation/gps.cxx
* Delete all globals (except a few "unsafe" ones that still cause segfaults
  and need further examination.
* Use an SGShared pointer for navaid memory allocation, so that pointers to
  individual navaid objects can be included safely in multiple navaid lists
2007-10-20 08:36:21 +00:00
mfranz
6d3ff7b125 - airportinfo(): don't bark when no airport was found (K. HOERCHER)
- simplify listener purging and fix removelistener() return value for
  one-shot listeners
- listener: inherit virtualness
- s/handler/code/ in listener code to be consistent with NasalSys::call
2007-10-18 11:43:38 +00:00
mfranz
200abfef2d - listener: re-order and change callback function args; simplify code
- make code look like Andy wrote it (so people know whom to blame :-)
- nasal-props.cxx: warning--
2007-10-16 15:15:41 +00:00
mfranz
dbd0b136b8 - use refcounted node pointers, so that no subsystem (nasal!) can invalidate them
- add frame signal for debugging purposes
2007-10-16 15:01:19 +00:00
mfranz
2b338113af give FDMs one update cycle time before setting the fdm-initialized signal
(YASim needs that to fully initialize the landing gear)
2007-10-16 07:55:43 +00:00
mfranz
fa44895b5f (depreciated) cmdarg() should return _node, not parent 2007-10-15 19:12:03 +00:00
mfranz
3a03671566 - add argc/argv arguments to FGNasalSys::call
- add support for childAdded/childRemoved listeners
- use regular function arguments for property ghosts
- warning--
2007-10-15 16:28:40 +00:00
mfranz
02a813abde revert meaning of third, optional argument, and add an optional fourth
argument:

  setlistener(<property>, <func> [, <initial=0> [, <persistent=1>]])

This definition defaults to the old behavior. The fourth argument can
be set to zero, in which case the function is only called when the
node value has actually changed. It should really default to zero, but
then all callers would have to be reviewed, which is a bit too dangerous
"shortly" before a release.
2007-10-14 18:01:26 +00:00
mfranz
b90c95269f fix off-by-one bug for airport type handling 2007-10-14 10:05:41 +00:00
mfranz
40f8213b0f airportinfo(): add possibility to search for next airport of a particular
type: "airport" (default), "seaport", "heliport"
2007-10-14 07:51:11 +00:00
mfranz
73bec9e1f8 - make weighting factors for search function with target heading permanent
- add "good" offset as suggested by Thomas FOERSTER
- minor tweaks
2007-10-12 20:53:46 +00:00
mfranz
c979136e5b add new listener type: setlistner(<prop>, <func> [, <type=0>]);
0 -> trigger whenever property is written to (even if it's the old value; default)
1 -> like 0, but also trigger the function initially
2 -> trigger initially, but then only on changes
2007-10-12 17:24:43 +00:00
mfranz
44b8f3704a fix another creative char[] == "" comparison 2007-10-12 10:20:54 +00:00
mfranz
aefae6b55a ignore strange 00 entry in apt.dat.gz as committed today; example:
00 12600 HONOLULU CNTR
2007-10-11 16:22:39 +00:00
mfranz
5f9d70fce6 cleaner & faster (don't use STL functions ::size() and ::end() in loop
condition statements, don't use multiple vector array access via index)
2007-10-11 15:33:24 +00:00
mfranz
97d3b07a1f prevent endless loop. The new awy.dat.gz has entries like line 2632 ...
AMIBO  34.973889  021.658056 ARLOS  34.625278  023.000000 1 095 195 M871-MT E-MT W-N4
... where unexpected ids follow (here E-MT W-N4). The loader didn't skipeol.
The additional values are for a first quick&dirty fix just dropped.
2007-10-11 13:51:11 +00:00
mfranz
4022edc5ba make that __MWERKS__ :-} 2007-10-11 09:28:05 +00:00
mfranz
b66ea980ad Make sure the __MWERKS__ test can't go unnoticed. It's really time to
remove all those 41 hacks if possible. Metrowerks is under category
"Defunct software companies" in Wikipedia, its compiler was known to
work on PowerPC (which we don't support, anway, right?) and on some
Unices. The hacks are in CVS since the first commit 2002/9/10 (old
repository!) and probably were in the code long before that. Any
platform where such a broken compiler is still used, will hardly
be suitable to run fgfs at all.
2007-10-11 09:19:49 +00:00
mfranz
40fd20d5d4 setprop(): make sure return value is always set 2007-10-11 07:58:56 +00:00
mfranz
06c7c3c0f4 rename FGAirportSearchFilter::acceptable() -> ::pass() 2007-10-11 07:53:17 +00:00
mfranz
602e41bab6 don't write past array bounds 2007-10-11 07:41:44 +00:00
mfranz
405c013618 JSB: "Fixed uninitialized variables; patch by Anders Gidenstam"
mf: backporting from JSB/CVS to fix serious gear problem
2007-10-10 22:11:14 +00:00
mfranz
e3c2cf3abc setprop(): report error on writing to unwritable property 2007-10-10 19:24:17 +00:00
mfranz
6e72aa6a57 checking the brutal way whether the 41 ugly __MWERKS__ hacks are really
still needed. At some point they must have fixed their broken compiler.
2007-10-10 18:34:28 +00:00