1
0
Fork 0
Commit graph

839 commits

Author SHA1 Message Date
Durk Talsma
3c60bf6511 Make sure also not to try running AI_mgr when compiling fgfs with --disable-atcdcl. FlightGear can now actually run without segfaulting when compiled this way. 2010-06-27 10:08:26 +02:00
Torsten Dreyer
4466729987 fix assertion in sunsolver.cxx with --timeofday=xx 2010-06-26 21:58:45 +02:00
Torsten Dreyer
e1b9d3d759 Don't crash if built with --disable-atcdcl 2010-06-26 20:24:34 +02:00
James Turner
f9ec605ffb Fix ordering of aircraft-model updates against flight model. 2010-06-26 10:31:22 +01:00
James Turner
85be9be1e0 Initial work on FDM shell, and removal of cur_fdm_state 2010-06-26 10:31:22 +01:00
James Turner
4756cd4882 Wrap SGEphemeris in a subsytem/property interface, and remove from mainloop. 2010-06-26 10:31:21 +01:00
James Turner
3fbf3aa080 Make FGAircraftModel more subsystem-alike, move update to fgMainLoop. 2010-06-26 10:31:21 +01:00
Tim Moore
0f8312150d Log OpenGL vendor and version string 2010-06-15 23:58:55 +02:00
ehofman
5d0d6998d2 Don't forget to resume the sound system after reinit 2010-04-12 10:01:51 +02:00
ehofman
2b83ed9cbe allow reinitializing the sound system by setting /sim/sound/working to false at runtime. 2010-04-12 10:01:28 +02:00
fredb
00e9ad3055 MINGW patch from Benoît Laniel 2010-01-25 17:12:04 +01:00
durk
a023700ebe Update base package version check. 2010-01-21 06:30:35 +01:00
Tim Moore
98d8a98ef2 Merge branch 'ehofman/sound' 2010-01-13 07:30:52 +01:00
ehofman
8e4d979aca Don't initialize the soundmanager wehn defining --disable-sound. Sound can still be enabled at runtime by setting /sim/sound/working to 'true' 2010-01-10 23:33:57 +01:00
Tim Moore
15b6c431c0 Merge branch 'timoore/merge-effects' 2009-12-20 12:05:07 +01:00
Tim Moore
b5c46a8d59 Merge branch 'ehofman/sound' 2009-12-20 11:11:16 +01:00
Tim Moore
9a94b26609 Changes for animated effects 2009-12-20 10:34:07 +01:00
ehofman
e657a53b32 Turned out a tied proeprty can't be used as a user archive, use a different one 2009-12-01 19:12:56 +01:00
ehofman
86cd525200 update to allow selection of a new sound device 2009-11-30 22:45:33 +01:00
ehofman
fde1a925fe Change of thoughts since it makes life easier:
/sim/sound/working		enable/disable the use of OpenAL
/sin/sound/enabled		master mute/unmute
2009-11-30 22:45:23 +01:00
ehofman
3a4892cede New Property layout:
/sim/sound/enabled		enable/disable the use of OpenAL
/sin/sound/pause		master mute, effects all SampleGroups
/sim/sound/volume		master volume
/sim/sound/effects/enabled	enable/disable (mute) sound fx
/sim/sound/effects/volume	effects volume
/sim/sound/chatter/enabled	enable/disable (mute) atc chatter
/sim/sound/chatter/volume	chatter (sample queue) volume
2009-11-29 15:57:37 +01:00
ehofman
c56c520ab5 initlialize _playing for FGATC. Proper listerner orientation based on view offset. proper velocity orientation 2009-10-28 23:23:53 +01:00
durk
904a99714e Two patches:
1) Fix for the "use custom scenery airport data" property.
2) Make it a little harder for stupid people to make money behind our backs.
2009-10-24 19:53:03 +02:00
ehofman
f9445874a0 Don't make the SoundManager a memebr of the subsystem manager; It needs to be initialized very early and destroyed as late as possible. That doesn't work as a subsystem meber onless some sort of priority scheme gets implemented. Get rid of auto_ptr which doesn work for the samples either. 2009-10-24 19:51:39 +02:00
ehofman
73d4b78396 explicitly activate the sound manager 2009-10-18 18:19:52 +02:00
ehofman
b64259b295 allow disabling sound completely (note: openal gets initialized but shuts down a bit later leaving the soundmanager to handle only very specific commands). At this time by specifying '--prop:/sim/sound/enabled=false', not sure why '--disable-sound' doesn't work properly 2009-10-06 10:23:15 +02:00
ehofman
446b200edc Add the Sound Manager before any other subsystem that uses it. This makes sure the SoundMgr is available at construction time which makes the code much cleaner. Call the update_last() after any other class 2009-10-06 10:23:03 +02:00
ehofman
86f462933d Initial commit of the new sound system, expect more updates to follow 2009-10-06 10:22:09 +02:00
jmt
0dbf2de0b6 Remove audio update from main.cxx, back to FGFX (but keep the timing-dependent piece done artificially late) 2009-09-20 00:20:17 +02:00
jmt
0c8c8380b1 Break viewmgr.hxx dependency on on viewer.hxx. 2009-09-20 00:20:17 +02:00
ehofman
10611c1522 Dont execute code in case the soundmanager isn't properly initialized 2009-09-09 08:56:32 +02:00
ehofman
ea4a3ee1df Make FGIO a proper subsystem and add a reinit method for the generic protocol. This should allow for easy runtime reloading of the configuration file. 2009-09-09 08:56:31 +02:00
frohlich
8676c2bbd8 Replace the SGVec*::sg() methods with the equivalent SGVec*::data() calls.
Modified Files:
	src/Traffic/Schedule.cxx src/Sound/fg_fx.cxx src/Main/main.cxx
	src/Instrumentation/navradio.cxx
	src/AIModel/AIFlightPlanCreateCruise.cxx
2009-09-09 08:56:30 +02:00
jmt
5a01c55335 Allow the joystick hat to move the view, even when the sim is paused. 2009-09-09 08:56:30 +02:00
torsten
0c2db22988 Advanced input subsystem - Step1: cleanup dependencies 2009-08-08 08:37:14 +02:00
Tim Moore
7d6c567fde Refer to property types using props:: namespace
BOOL, FLOAT etc. conflict with typedefs in windows.h.
2009-07-17 14:54:12 +02:00
timoore
4cc3084256 SGPropertyNode::Type moves to simgear::props namespace 2009-07-16 12:10:47 +02:00
jmt
e1583cb28c Update FGViewer position clients to work with SGGeod directly 2009-06-11 16:05:20 +02:00
frohlich
5168166a9f Update with changes in simgear.
Modified Files:
 	src/Main/renderer.cxx src/Main/main.cxx
2009-03-18 08:00:09 +01:00
frohlich
183b871b48 Fix a problem with two concurent 'round to multiple of basic simulation
time' code paths. The problem may lead to skipped fdm updates at very high
frame rates. The most visible effect of that was that the aircraft
slips backwards wrt the forward moving carrier.
Remove unused stuff.

Modified Files:
	configure.ac projects/VC7.1/FlightGear.vcproj
	projects/VC8/FlightGearLib.vcproj src/Cockpit/cockpit.cxx
 	src/FDM/Makefile.am src/FDM/flight.cxx src/FDM/flight.hxx
 	src/FDM/SP/Balloon.cxx src/FDM/SP/BalloonSim.cpp
 	src/FDM/SP/BalloonSim.h src/Main/Makefile.am
 	src/Main/fg_init.cxx src/Main/main.cxx src/Time/Makefile.am
Removed Files:
 	src/Time/fg_timer.cxx src/Time/fg_timer.hxx
2009-03-18 08:00:09 +01:00
frohlich
aadf568c91 Remove unused stuff.
Modified Files:
 	src/Main/main.cxx src/Main/main.hxx
2009-03-18 08:00:09 +01:00
frohlich
f9f9350b96 Adapt to SGTimeStamp changes.
Modified Files:
	configure.ac src/Cockpit/panel.cxx src/FDM/Makefile.am
	src/FDM/flight.hxx src/FDM/ExternalNet/ExternalNet.hxx
	src/Instrumentation/marker_beacon.cxx src/Main/Makefile.am
	src/Main/fg_init.cxx src/Main/main.cxx
	src/MultiPlayer/multiplaymgr.cxx src/Time/fg_timer.cxx
	utils/GPSsmooth/MIDG_main.cxx utils/GPSsmooth/UGear_main.cxx
	utils/GPSsmooth/gps_main.cxx
2009-03-18 08:00:08 +01:00
frohlich
7e73a87882 Improove FGTileMgr::scenery_available for small ranges.
Use SGGeod in FGTileMgr, FGScenery apis.

Modified Files:
	src/AIModel/AIBallistic.cxx src/Main/main.cxx
	src/Scenery/scenery.cxx src/Scenery/scenery.hxx
	src/Scenery/tilemgr.cxx src/Scenery/tilemgr.hxx
	src/Scripting/NasalSys.cxx
2009-03-18 08:00:07 +01:00
frohlich
f07e8a7e94 Avoid casts if there is a method for the apropriate job.
Modified Files:
	src/Main/main.cxx
2009-03-11 23:14:34 +01:00
frohlich
82b54e7a25 Avoid SGLocation usage.
Modified Files:
	configure.ac src/AIModel/AIBase.cxx
	src/ATCDCL/AILocalTraffic.cxx src/FDM/Makefile.am
	src/FDM/flight.hxx src/FDM/LaRCsim/LaRCsim.cxx
	src/Main/Makefile.am src/Main/fg_init.cxx src/Main/main.cxx
	src/Main/viewer.cxx src/Main/viewer.hxx
	src/Scenery/tilemgr.cxx src/Scenery/tilemgr.hxx
2009-03-11 23:14:34 +01:00
frohlich
5f76fdd07a Use the positon from the model placment.
Use SGGeod based apis in the scenery/tilemanager.
Remove ground query that is no longer used.

Modified Files:
	src/Main/main.cxx
2009-03-11 23:14:33 +01: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
curt
ebea9d798e Loosen the check for stationary versus moving view point. I some cases when
the view has an "offset" location, the actual location of a "stationary" view
point moves a small amount as the view direction rotates.
2008-12-01 16:13:12 +00:00
mfranz
54744f58e0 Update the model manager after the event manager, so that model
coordinates that were set relative to the aircraft's position
are picked up before the view update rather than the next cycle.
This avoids ugly fluttering of "passengers" at higher speed.
2008-11-19 07:46:10 +00:00
curt
4529449b83 Incremental improvement of openal sound velocities. This should help
stabilize some of the odd artifacts we were hearing, that were especially
noticable in clean sound samples like the stall horn or the marker beacon
codes.  The change still preserves the doppler effect and maintains the
good work of a previous developer figuring out how to align the model and
listener velocity vectors correctly.
2008-11-10 15:59:14 +00:00
curt
e8ff28f9f8 Tidy up for a source code "snapshot" release. 2008-10-30 18:35:44 +00:00
ehofman
eada914350 Commit the proper patch stupid :( now with the positioning and orientation code included... 2008-09-05 19:46:21 +00:00
ehofman
2963b90195 revert the move of the sound positioning code, at least till i found out why it doesn't work this way. 2008-09-05 11:05:21 +00:00
ehofman
a6f885b1fb Move the soundmanager update code back to the main loop, just prior to updating all the SGSubsystems. Hopefuly this silves the sound problem. 2008-09-05 09:18:33 +00:00
ehofman
da96156c30 Move SGSoundMgr stuff oevr to FGFX 2008-08-21 14:26:27 +00:00
durk
301054204e James Turner: Improved runway management code:
- Runways are now part of an airport, instead of a separate list
 - Runways are no longer represented as a boring struct, but as a class
   of their own.
 -Improved runway access to unify various runway access methods.
2008-08-14 18:13:39 +00:00
timoore
6f802959ce CameraGroup class for managing multiple cameras.
CameraGroup supports cameras opened in different windows or in the
same window, with flexible view and perspective specification.

Clean up mouse click handling via osgViewer. Don't let any camera
"have focus;" this forces events to be reported in window coordinates
and simplifies life. Don't use the osgViewer::View::requestWarpPointer
method; instead use our own code which only deals with window
coordinates.

Make glut and sdl versions work with CameraGroup too.
2008-08-01 15:57:29 +00:00
ehofman
14885374de header cleanups 2008-07-31 12:04:32 +00:00
ehofman
429f2530de James Turner:
* experimental clean-up / reduction on two of the FG headers:
   (I'm going to await feedback on the developers list before doing more of
    these, to avoiding going over files multiple times, but in principle it
    seems pretty straightforward.)

 * final fixes for SG_USING_STD removal
2008-07-29 08:27:48 +00:00
fredb
3db0cf1659 Remove unneeded inclusions of windows.h, GL.h and GLU.H 2008-07-27 15:18:34 +00:00
ehofman
eccddb3dfd Attached patches remove BORLANDC, and hence SG_MATH_EXCEPTION_CLASH and SG_INCOM
PLETE_FUNCTIONAL from SimGear and FlightGear.

As a result, SG_HAVE_STD_INCLUDES is now *always* set, so I will get the boring
fixes for that done, but separately. I'm still auditing the other things in comp
ilers.h - there's a lot that can die now BORLAND is gone.
2008-07-25 10:39:53 +00:00
ehofman
c8a9fd2bd4 Some Mac / __APPLE___ cleanups:
- remove the OSX_BUNDLE crap *I* introduced years ago - we're always a a bun
dle on Mac now.

    - fix up the default fg-root on Mac to be FlightGear.app/Contents/Resources/
data - i.e the location used by the macflightgear.org distro, and indeed the obv
ious 'correct' location. Not sure why I didn't use that in the first place, back
 in the day.

    - remove the CPSForegroundEnable hack. For one thing, we're a bundle and don
't need it, and for another, osgViewer on Mac does the same logic using a newer,
 public API rather than a hack into the OS.

    - remove the strange logic for doing fgOSInit 'early' (in bootstrap rather t
han main) when running from the command line on Mac; again this is obsolete, and
 no one seems to know why it was ever necessary. I guess it was an interaction w
ith SDL when running without a bundle.

    - (not Mac related) remove obsolete code bracketed by ENABLE_PLIB_JOYSTICK a
nd USE_GLIDE (neither of which are ever set, even from config.h that I can see)
in main.cxx
2008-07-25 08:39:28 +00:00
ehofman
6c4061bdc5 Remove the remaining macintosh (not MacOS-X) and MWERKS workarounds. 2008-07-25 07:29:20 +00:00
mfranz
76a13e689d use same path validation process for fgcommands "load", "save",
"loadxml", ans "savexml" as is used for io.open(). This is still
Nasal based for now. See $FG_ROOT/Nasal/io.nas.
2008-07-11 16:36:54 +00:00
mfranz
b27f73f4f4 make route manager input case insensitive 2008-06-06 07:49:41 +00:00
timoore
580ebf637b Clean up OSG camera setup and interface to plib PUI
Switch to defining PU_USE_NONE and providing our own callback
functions to pui for "get window" and "get window size." A new
WindowSystemAdapter class assigns ID numbers to windows for the
purpose of identifying them to plib; the window size can be extracted
from the osg::GraphicsContext class in all the different
implementations (osgViewer, glut, sdl).

Implement a GraphicsContextOperation that runs code in a particular
graphics context, perhaps in another thread, and provides an
isFinished() method to test if the operation has finished. This allows
us to initialize plib PUI properly if there are multiple graphics
contexts without using fgMakeCurrent(). fgMakeCurrent() can't work in
multi-threaded OSG configurations.

Eliminate fgMakeCurrent() and all its uses, either by using
GraphicsContextOperation or by seeing that it is not necessary.

Attach the GUI camera as a slave camera.

Don't manipulate the OSG state in the drawImplementation() functions
for SGHUDAndPanelDrawable and SGPuDrawable; it's not needed.
2008-05-19 21:21:03 +00:00
mfranz
c92dcc6b24 - use fireValueChanged() instead of setBoolValue(true) (micro-optimization :-)
- comment out rather pointless FDM status message
2008-05-18 21:13:25 +00:00
durk
4e24fba0d5 Merging David Luff's AI/ATC code with AIModels. Part 1:
- Move Dave's original code to a new directory (ATCDCL) so we can recycle
    the original ATC directory for generic ATC functions.
2008-05-12 10:38:04 +00:00
timoore
fd492a297a model paging patch from Till Busch
From Till:
i started the project at the end of february with a simple idea: move all
3d-model loading to the DatabasePager-thread. my first attempts looked
promising, though they were a little too optimistic (or naive?). the patch
has evolved a lot since.

currently it does the following things:
1. revive SGModelLib, move functions for xml-model-loading there

2. replace all calls to sgLoad3dModel with calls to either
SGModelLib::loadModel() or SGModelLib::loadPagedModel()
almost all models will be loaded by the DatabasePager. the few exceptions are:
your own plane, shared models in scenery, random objects, AIBallistic models.

3. simplify mode-loading functions (avoid passing around fg_root)

4. avoid supurious MatrixTransform nodes in loaded models

5. fix some memory leaks
2008-03-22 09:31:06 +00:00
timoore
b8de58bcdd cleanup of precipitation contribution
Reindent to Stroustrup style.

Make FGPrecipitationMgr an SGSubsystem and remove all references to it
in main.cxx and renderer.cxx.

Use SGGeod::makeZUpFrame instead of a private function in
tileentry.cxx. Rewrite that function, WorldCoordinate, to use
makeZUpFrame too.
2008-03-04 09:03:54 +00:00
timoore
eb26cb3590 precipitation effects from Nicolas Vivien 2008-03-04 09:02:24 +00:00
mfranz
366178f801 Change update order to event manager -> view manager -> io manager.
This allows Nasal managed views thanks to the proximity of the
event manager (which executes Nasal loops). The io manager must
come after the view manager to avoid jitter in network replay.
2008-02-25 12:59:24 +00:00
mfranz
0bca82cb6c revert revisions 1.246 to 1.248. This fixes the jitter for chase
view in network replay, and re-introduces jitter in some (rare)
cases of Nasal managed views.
2008-02-23 09:45:56 +00:00
timoore
00f8463ab4 Another round of memory leak fixes from Till Busch 2008-01-24 23:05:58 +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
durk
50ba7b93b8 Make sure fgfs finds the correct version of the base package. 2007-12-11 21:48:00 +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
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
98d23457ac Maik JUSTUS: swap stereo L/R, and fix Doppler 2007-07-06 20:53:48 +00:00
mfranz
ae4b9b0ce3 Maik JUSTUS: avoid Doppler artifacts (listener changes position quickly, etc.) 2007-06-24 20:32:02 +00:00
mfranz
6dd5f0f6d5 Maik JUSTUS: prevent occasional OpenAL crashes after resets 2007-06-22 16:51:12 +00:00
mfranz
aca95e99e0 Maik JUSTUS: fix/implement directional sound 2007-06-21 21:49:46 +00:00
mfranz
5123de61ee fix bug that prevented /sim/sceneryloaded from ever becoming "true" if
/sim/screneryloaded-override was "true". At least one subsystem (od_gauge)
waits for /sim/sceneryloaded to bypass CPU intensive code until the scenery
is up. This broke e.g. the RTT-radar when using /sim/screneryloaded-override

--prop:sim/sceneryloaded-override=true has the effect that fgfs
doesn't show the splash screen until the scenery is loaded, but shows
the OTW view (scenery/aircraft) at the earliest possible moment. This is
useful for developers who often need to run fgfs only to check some minor
detail, while not caring about stuttering caused by scenery loading.
2007-06-19 10:18:14 +00:00
frohlich
7443b8b5e8 Modified Files:
configure.ac src/Main/Makefile.am src/Main/fg_os.cxx
	src/Main/fg_os.hxx src/Main/fg_os_sdl.cxx src/Main/main.cxx
	src/Main/renderer.cxx src/Main/renderer.hxx
	src/Network/jpg-httpd.cxx
Added Files:
	src/Main/FGManipulator.cxx src/Main/FGManipulator.hxx
	src/Main/fg_os_osgviewer.cxx:
	Tim Moore: Make use of osgViewer.
2007-05-21 17:50:02 +00:00
curt
a8a971b79d For now, OSG head should look for the same "data" tree version as the plib
branch.
2007-05-16 03:53:47 +00:00
frohlich
16a2bb0118 Modified Files:
src/ATC/AIPlane.cxx src/ATC/ATC.cxx src/ATC/ATCDialog.cxx
	src/ATC/ATCmgr.cxx src/ATC/Makefile.am src/ATC/approach.cxx
	src/ATC/atis.cxx src/ATC/ground.cxx src/ATC/tower.cxx
	src/GUI/mouse.cxx src/Main/Makefile.am src/Main/fg_init.cxx
	src/Main/fg_props.cxx src/Main/globals.cxx
	src/Main/globals.hxx src/Main/main.cxx src/Main/renderer.cxx
	src/Model/acmodel.cxx src/Scenery/scenery.cxx
	src/Scenery/scenery.hxx src/Scenery/tilemgr.cxx
	src/Scenery/tilemgr.hxx
Removed Files:
	src/ATC/ATCdisplay.cxx src/ATC/ATCdisplay.hxx:
	Remove unused functions and the disabled ATC display.
2007-05-09 20:41:08 +00:00
frohlich
b51292d9db Modified Files:
src/FDM/groundcache.cxx src/Main/fg_commands.cxx
	src/Main/main.cxx src/Main/renderer.cxx
	src/Scenery/FGTileLoader.cxx src/Scenery/scenery.cxx
	src/Scenery/scenery.hxx src/Scenery/tileentry.cxx
	src/Scenery/tileentry.hxx src/Scenery/tilemgr.cxx
	src/Scenery/tilemgr.hxx: Simplify scenegraph structure.
2007-05-08 06:12:26 +00:00
frohlich
4fe615fff5 Modified Files:
src/AIModel/AIBase.cxx src/AIModel/AICarrier.cxx
	src/ATC/AIEntity.cxx src/Cockpit/hud_rwy.cxx
 	src/FDM/Makefile.am src/FDM/flight.hxx src/FDM/groundcache.cxx
	src/Instrumentation/HUD/HUD_runway.cxx src/Main/Makefile.am
	src/Main/fg_init.cxx src/Main/main.cxx src/Main/renderer.cxx
	src/Main/viewer.cxx src/Main/viewer.hxx src/Model/acmodel.cxx
	src/Model/modelmgr.cxx src/Scenery/scenery.cxx
	src/Scenery/scenery.hxx src/Scenery/tileentry.cxx
	src/Time/tmp.cxx: Remove the scenery center handling.
	Osg has double valued transforms at any relevant place.
2007-05-05 08:08:24 +00:00
frohlich
2f8beb56ea Modified Files:
src/GUI/new_gui.cxx src/GUI/new_gui.hxx src/Main/main.cxx
 	src/Main/renderer.cxx src/Main/renderer.hxx
	src/Main/splash.cxx src/Main/splash.hxx
	src/Scenery/scenery.hxx: Move splash screen into the scenegraph.
2007-05-03 18:12:29 +00:00
mfranz
a516ad6bcd (hopefully) fix the problem that some people have:
"FATAL: PUI: No Live Interface! Forgot to call puInit ?"
We shouldn't use the splash progress message before guiInit().

Leave the "idle_state" step for now, to keep the similarity
with fg/plib as big as possible. This can be dropped later.
2007-04-29 09:58:37 +00:00
mfranz
d996d27121 - move fgInitTowerLocationListener() from fgInitPosition() to the init
part of fgIdleFunction() in main.cxx. fgInitPosition() is called again
  at every reset, which would every time attach another listener.
2007-04-04 19:05:59 +00:00
frohlich
29778f1496 Modified Files:
src/Main/main.cxx src/Main/renderer.cxx: Avoid an extra clear of
	of the color buffer.
2006-11-12 12:38:57 +00:00
frohlich
6b9d29194b Modified Files:
src/AIModel/AIBase.cxx src/Main/main.cxx src/Main/renderer.cxx
	Reflect last change in SimGear
2006-10-31 06:27:34 +00:00
frohlich
b0f9d24f9d Modified Files:
configure.ac src/AIModel/AIAircraft.cxx src/AIModel/AIBase.cxx
 	src/AIModel/AIBase.hxx src/AIModel/AICarrier.cxx
 	src/AIModel/AICarrier.hxx src/AIModel/AIManager.cxx
 	src/AIModel/AIManager.hxx src/ATC/AIEntity.cxx
 	src/ATC/AIEntity.hxx src/ATC/AIMgr.cxx src/ATC/AIMgr.hxx
 	src/ATC/ATCdisplay.cxx src/ATC/ATCdisplay.hxx
 	src/Cockpit/cockpit.cxx src/Cockpit/cockpit.hxx
 	src/Cockpit/hud.cxx src/Cockpit/hud.hxx
 	src/Cockpit/hud_rwy.cxx src/Cockpit/panel.cxx
 	src/Cockpit/panel.hxx src/Cockpit/built_in/FGMagRibbon.cxx
 	src/Cockpit/built_in/FGMagRibbon.hxx src/FDM/flight.cxx
 	src/FDM/groundcache.cxx src/FDM/groundcache.hxx
 	src/GUI/gui_funcs.cxx src/Input/input.cxx
 	src/Instrumentation/od_gauge.cxx
 	src/Instrumentation/od_gauge.hxx
 	src/Instrumentation/render_area_2d.cxx
 	src/Instrumentation/render_area_2d.hxx
 	src/Instrumentation/wxradar.cxx
 	src/Instrumentation/wxradar.hxx
 	src/Instrumentation/HUD/HUD.cxx
 	src/Instrumentation/HUD/HUD.hxx
 	src/Instrumentation/HUD/HUD_runway.cxx src/Main/Makefile.am
 	src/Main/main.cxx src/Main/renderer.cxx src/Main/renderer.hxx
 	src/Main/viewmgr.cxx src/Model/acmodel.cxx
 	src/Model/acmodel.hxx src/Model/model_panel.cxx
 	src/Model/model_panel.hxx src/Model/modelmgr.cxx
 	src/Model/modelmgr.hxx src/Model/panelnode.cxx
 	src/Model/panelnode.hxx src/Navaids/awynet.cxx
 	src/Scenery/Makefile.am src/Scenery/hitlist.cxx
 	src/Scenery/hitlist.hxx src/Scenery/newcache.cxx
 	src/Scenery/scenery.cxx src/Scenery/scenery.hxx
 	src/Scenery/tileentry.cxx src/Scenery/tileentry.hxx
 	src/Scenery/tilemgr.cxx src/Scripting/NasalSys.cxx
 	src/Scripting/NasalSys.hxx src/Time/light.cxx
	Big BLOB on the way to OSG.
2006-10-29 19:30:21 +00:00
mfranz
546d76269a emit signal /sim/signals/fdm-initialized when the FDM is up; this is
useful to attach listeners and have their functions run at a time when
they can safely access FDM generated properties
2006-10-26 09:07:41 +00:00
frohlich
4ea7fc6327 Attemp to fix the 'bogous tile problem' 2006-08-31 05:07:50 +00:00
mfranz
74391d55a1 cosmetics only:
- unify indentation (throw out 2-space indentation; this file uses 4 spaces)
- fix mixed indentation
- remove trailing spaces
- fix a couple of spelling mistakes
2006-08-07 15:16:46 +00:00
mfranz
d84043fbe2 move GL_TEXTURE_LOD_BIAS_EXT one section up and document what it does
(this was the reason why the first two text lines on the splash screen
looked more blurry than the others). BTW: I played with other values
than -0.5, but this turned out to be the best already. It makes textures
sharper than 0, but not too sharp (and thus flickering).
2006-08-07 15:11:46 +00:00
frohlich
cdb725528d Clean up scenery center handling. It is set now less often. 2006-07-27 16:36:22 +00:00
durk
a69dfbbc9a Mark's dynamic sun color changes. 2006-07-27 05:16:06 +00:00
curt
5831d99fc0 Always check for if glPointParameterIsSupported, even if we haven't asked
for point light distance attenuation, because we may want to toggle this
on via the rendering options gui.
2006-07-20 03:43:07 +00:00
curt
98c03f95e1 Vivian Meazza:
I attach 2 new files and a diff file for the associated changes to add a
“fluxgate compass†to the instrument inventory. Whist this outputs
essentially the same data as /orientation/heading-magnetic-deg, it has to
be powered, and can be made to fail. I also followed Roy’s suggestion to
generate the error properties for this instrument here rather than in
xmlauto.xml.

When this instrument is included in cvs, I intend to use it in the Hunter,
A4F Seahawk and KC135. After a bit more research, it might be appropriate
for the Spitfire and Hurricane as well. AJ would also like to use it for his
Lightning model.
2006-06-24 03:42:30 +00:00
frohlich
14fe03ba6f Modified Files:
src/AIModel/AIAircraft.cxx src/ATC/AILocalTraffic.cxx
	src/FDM/flight.cxx src/FDM/flight.hxx src/FDM/groundcache.cxx
	src/FDM/groundcache.hxx src/Main/fg_init.cxx src/Main/main.cxx
	src/Scenery/hitlist.cxx src/Scenery/hitlist.hxx
	src/Scenery/scenery.cxx src/Scenery/scenery.hxx
	Make use of the attached SGMaterial reference userdata on scenegraph
	leafs. Make the SGMaterial pointer available to the ground query
	routines.
2006-06-11 13:34:18 +00:00
curt
d5e57b8c1f Preparations for first v0.9.10 prerelease. 2006-03-21 18:52:19 +00:00
mfranz
1dae811546 always make some property string values upper case 2006-03-10 11:46:03 +00:00
mfranz
c9813d1b5d new FSF address 2006-02-21 01:16:04 +00:00
ehofman
da6568ad50 Mathias Fröhlich:
The new multiplayer patch with an extension to transmit some properties with
the base package. The properties are transmitted in a way that will not
immediately brake the packet format if we need new ones.
Even if the maxmimum number needs to be limited somehow, that format might
work well until we have an improoved packet format which is even more compact
and that does not require to retransmit redundant information with each
packet.

That part is relatively fresh and based on that what Oliver provides on his
multiplayer server web page.

The properties are transferred to the client and I have modified the seahawks
rudder animation property to use a relative property path to verify that it
works appart from the fact that you can see it changing in the property
browser.

The movement is still a bit jerky, but that can be fixed/tuned later without
again braking the packet format.
2006-02-17 09:43:33 +00:00
ehofman
6bdaa05351 Mathias Fröhlich:
This patch limits the maximum simtime we do simulation computations for.
That is highly sensible if you run flightgear in valgrind or some realy slow
debug build. In such a case it is possible that flightgear gets totally
unresponsible, because simulation time might increase slower than real time.
That patch introduces a maximum simulation time per rendered frame to limit
that effect.

If the property /sim/max-simtime-per-frame is set to something strictly
positive, the simulation time is limited to that value.
The default is unchanged - no limit.

Anyway, from the point of view of gui responsiveness and responsiveness to
realtime controls like joystick inputs it might be a good idea to limit that
by default to say 1 second. If you have less than 1fps, flightgear is
unplayable anyway and I believe we do not longer need to care for realtime
correctness for that case ...
2006-01-30 10:50:28 +00:00
curt
eca17c0dd8 Final updates for v0.9.9 2005-11-17 22:54:46 +00:00
ehofman
a76bbbd23f Use the new clouds3d-enable property instead. 2005-11-13 10:07:23 +00:00
curt
35c1b36c2d v0.9.9-pre3 updates. 2005-11-11 01:24:23 +00:00
curt
0787d72948 v0.9.9-pre2 updates. 2005-11-09 19:18:48 +00:00
curt
bf7cf64eb2 Updates in preparation for the v0.9.9 coming sometime [hopefully] soon. 2005-11-06 02:40:08 +00:00
ehofman
029dda3297 In the process of changing, adding and removing files the last few years
there was the situation where four directories contained jst two files,
of which three directories were aircraft related, and one directory contained
test code from Curt that might be better of in SimGear anyhow.

This is just a patch to move a bunch of files to new locations. In case of
local changes to any of them you can do the following:

move replay.[ch]xx from src/Replay to src/Aircraft
move control.[ch]xx from src/Control to src/Aircraft
move ssgEntityArray.[ch]xx from src/Objects to simgear/screen

In addition it has been decided only to use .[ch]xx files in all directories
unless it's contained within an FDM specific directory, in which case the
author is free to do whatever (s)he wants.

In this repspect the following files have been renamed in src/Multiplayer:

tiny_xdr.[ch]pp has become tiny_xdr.[ch]xx
multiplaymgr.[ch]pp has become multiplaymgr.[ch]xx
2005-11-01 13:41:49 +00:00
ehofman
eed55b48b7 Oliver Schroeder:
This is mainly an intermediate patch. I've restructured the network code.
2005-10-30 18:01:51 +00:00
ehofman
e769f42f3b Mathias Fröhlich:
I stumbled across two memory errors with two wrong const references to
std::string.

As I fixed that, I also moved aircraft_dir which is only used from UIUC into
UIUC. With that uiuc_aircraftdir.h is empty and can be removed.
2005-10-12 08:55:58 +00:00
ehofman
fad67bda10 Mathias Fröhölöiööhlich:
There was a patch from Manuel Masing a few months ago which cleaned up
SGLocation's way depending on input values. That means that with that patch
SGLocation does no longer have calls with unneeded input arguments.
I took his patch and integrated that into flightgear and made maximum use of
that changes.


Erik Hofman:
Remove some duplicate code that was moved to simgear/compiler.h
2005-09-05 13:25:09 +00:00
ehofman
7b824755ee Mathias Fröhlich:
I have prepared a patch that:
- Introduces a FGTileMgr::scenery_available method which asks the tilemanager
  if scenery for a given range around a lat/lon pair is already loaded and make
  use of that method at some -9999 meter checks.
- Introduces a FGScenery::get_elevation_m method which queries the altitude at
  a given position. In constrast to the groundcache functions this is the best
  choice if you ask for one *single* altitude value. Make use of that thing in
  AI/ATC classes and for the current views ground level. At the current views
  part the groundcache is reused if possible.
- The computation of the 'current groundlevel' is no longer done on the
  tilemanagers update since the required functions are now better seperated.

Alltogether it eliminates somehow redundant terrain level computations which
are now superseeded by that more finegrained functions and the existence of
the groundcache. Additionally it introduces an api to commonly required
functions which was very complex to do prevously.
2005-08-14 12:57:12 +00:00
ehofman
1869b30b58 Mathias Fröhlich:
I have traced that reset on carrier problem down to several problems. One of
them is the fact that on reset the carrier is updated while the aircraft is
not. That made the aircraft drop down an elevator sometimes. Depending on the
passed realtime while loading some parts of the scenery.
2005-07-13 12:25:16 +00:00
mfranz
1b88a799c0 don't use /sim/ATC/ and /sim/atc/ wildly mixed together; it's only /sim/atc/
now, just as it was everywhere in ATC/ATCDialog.cxx already
2005-05-10 09:44:13 +00:00
mfranz
fb14bdb8ec the plib documentation says we should call fntInit() before using fonts;
not that it makes a difference ...
2005-05-08 14:32:56 +00:00
mfranz
8ddf716d8c navigation data alone doesn't take *that* long ... 2005-05-06 09:47:46 +00:00
mfranz
b04c31cc51 fix wording 2005-05-06 09:16:30 +00:00
mfranz
d80b718039 - implement progress information (enabled by default; can be turned off via
/sim/startup/splash-progress)
- a string in /sim/startup/splash-title is displayed on top of the screen
  and by default empty
- the splash image is scaled down if 512x512 is too big
- code cleanup
2005-05-06 09:08:44 +00:00
mfranz
99f4b7e66e - open window as soon as possible
- move most of the initialization in chunks into the idle loop
- remove unused first fgSplashUpdate() parameter
2005-05-04 21:28:42 +00:00
ehofman
4c10ef139c Mathias:
I have done a patch to eliminate the jitter of 3D-objects near the viewpoint
(for example 3D cockpit objects).
The problem is the roundoff accuracy of the float values used in the
scenegraph together with the transforms of the eyepoint relative to the
scenery center.

The solution will be to move the scenery center near the view point.
This way floats relative accuracy is enough to show a stable picture.

To get that right I have introduced a transform node for the scenegraph which
is responsible for that shift and uses double values as long as possible.
The scenery subsystem now has a list of all those transforms required to place
objects in the world and will tell all those transforms that the scenery
center has changed when the set_scenery_center() of the scenery subsystem is
called.
The problem was not solvable by SGModelPlacement and SGLocation, since not all
objects, especially the scenery, are placed using these classes.

The first approach was to have the scenery center exactly at the eyepoint.
This works well for the cockpit.
But then the ground jitters a bit below the aircraft. With our default views
you can't see that, but that F-18 has a camera view below the left engine
intake with the nose gear and the ground in its field of view, here I could
see that.
Having the scenery center constant will still have this roundoff problems, but
like it is now too, the roundoff error here is exactly the same in each
frame, so you will not notice any jitter.

The real solution is now to keep the scenery center constant as long as it is
in a ball of 30m radius around the view point. If the scenery center is
outside this ball, just put it at the view point.

As a sideeffect of now beeing able to switch the scenery center in the whole
scenegraph with one function call, I was able to remove a one half of a
problem when switching views, where the scenery center was far off for one or
two frames past switching from one view to the next. Also included is a fix
to the other half of this problem, where the view position was not yet copied
into a view when it is switched (at least under glut). This was responsible
for the 'Error: ...' messages of the cloud subsystem when views were
switched.
2005-04-29 14:38:24 +00:00
curt
2e308fe928 Updated hybrid of original busy-wait frame rate throttling loop combined with
a safe undersleep() to conserve cpu.  Essentially we undersleep our target by
just a bit (to avoid the chance of oversleeping.)  Then we finish off the
remaining time slice with a busy-wait loop.
2005-03-09 21:56:00 +00:00
ehofman
d1168b493a Frederic Bouvier:
Norman Vine wrote :

> Frederic Bouvier writes:
>
>> Quoting Andy Ross:
>>> * Hopefully in a CPU-friendly way.  I know that older versions of
>>>  the NVidia drivers did this by spinning in a polling loop
>>>  inside the driver.  I'm not sure if this has been fixed or not.
>>>
>>> From my experience, the latest non-beta Windows NVidia driver seems to eat CPU
>>
>> even with sync to vblank enabled. The CPU usage is always 100%.
>
> Buried in the PPE sources is a 'hackish' but portable way to limit CPU usage if the desired framerate is met
>
>  /*
>    Frame Rate Limiter.
>
>    This prevents any one 3D window from updating faster than
>    about 60Hz.  This saves a ton of CPU time on fast machines.
>
>    ! I THINK I MUNGED THE VALUE FOR ulMilliSecondSleep() NHV !
>  */
>
>  static ulClock *ck = NULL ;
>
>  if ( frame_rate_limiter )
>  {
>     if ( ck == NULL )
>     {
>       ck = new ulClock ;
>       ck -> update () ;
>     }
>
>     int t_ms = (int) ( ck->getDeltaTime() * 1000.0 ) ; /* Convert to ms */
>
>     if ( t_ms < 16 )
>       ulMilliSecondSleep ( 16 - t_ms ) ;
>  }
>
>

I implemented the method pointed out by Norman. It works great on windows and saves me a lot of CPU cycles. This way, I can get the same framerate in moderately populated areas and have CPU idle 50% of the time instead of wildly looping in the NVidia driver while waiting to sync on vblank.

It has been tested on Linux by Melchior. He saw the same gain in CPU cycles.
2005-03-09 15:12:01 +00:00
curt
9f531ff901 A couple minor tweaks to the replay subsystem to allow "pausing" the replay. 2005-01-05 05:45:38 +00:00
curt
c362ca795c Updates in preparation for the 0.9.8 release. 2004-12-21 00:16:06 +00:00
ehofman
f541c30e46 gcc 2.95 fix? 2004-12-20 08:36:56 +00:00
ehofman
800dad8273 Make sound audiable not until after the scenery is loaded. 2004-12-16 13:19:01 +00:00
curt
634e79353f Roy Vegard Ovesen:
I've finished the emigration of the radiostack, and I've also removed it
completely. It turned out that the comm radio is completely implemented in
the ATC subsystem. I've changed the affected ATC files to point
to /instrumentation/com, but I guess that the maintainer of the ATC code
should decide wether to make it configureable, and how.

I also had to change some files in Network and Main. The changes in network
should be obvious, but the changes in Main were a bit suspect. The files
included radiostack.hxx, but they weren't directly depending on
radiostack-hxx. They were depending on other files that were included by
radiostack.hxx. I got it to compile, but I'm not sure if I included the
correct directly depending file.

For the data directory I changed every occurrence of /radios/
with /instrumentation/ with this simple one-liner that I found on the net:

find -name '*.xml' -type f | xargs perl -pi -e
's/\/radios\//\/instrumentation\//g'

Instead of me sending all the files that got changed by this I suggest that
you execute the one-liner yourself. Of course I can not guarantee that this
will work perfectly, but I considered hand editing to be not an option (I'm
lazy). I don't want to test every aircraft to see if everything still works,
I think it's better to wait and see if anyone complaints about broken nav
radios/instruments.
2004-12-03 21:21:16 +00:00
ehofman
337d0d1be6 Add some missing bits from Mathias' carrier code. 2004-11-20 12:44:42 +00:00
curt
d05121ef46 Fix my mailing address by replacing it with my web page. 2004-11-19 22:10:41 +00:00
ehofman
96e24a3e8d Melchior:
Don't overwrite user settings from config files.

fgfs had in any case set bump-mapping to false, no matter if this
node did already exist (because it was defined in a config file).
2004-10-20 08:18:29 +00:00
ehofman
8b53b86aa0 A first stab at an ACMS (Aircraft Condition Monitoring System) Special Purpose support FDM. Move the ADA FDM into the Special Purpose directory and make the SP FDM's a configure option. 2004-10-19 11:10:20 +00:00
ehofman
2b6b970b80 Frederic Bouvier:
This is a patch to make display list usage optional. They are on by default.
Use --prop:/sim/rendering/use-display-list=false to use immediate mode.
There is also a change in exception handling in main.cxx and bootstrap.cxx
2004-10-17 17:29:34 +00:00
ehofman
986492d72d Finish what was committed in a broken state yesterday.
Split up main.cxx into a program manegement part (which remains in
main.cxx) and a render part (the new renderer.?xx files). Also turn
the renderer into a small class of it's own. At this time not really
exctining because most of the stuff is still global, but it allows us
to slowly migrate some of the global definitions into the new class.

The FGRenderer class is now managed by globals, so to get the renderer
just call gloabals->get_renderer()

At some pijt it might be a good idea to also turn the remaining code in
main into a class of it's own. With a bit of luck we end up with a more
robust, and better maintainable code.
2004-09-20 13:21:51 +00:00
ehofman
de47d1a7d8 Revert to CVS as of 5000 seconds ago. 2004-09-19 17:59:40 +00:00
ehofman
cbdeb3be16 Remove unnecessary inclusions of sg.h ans ssg.h 2004-09-19 16:47:00 +00:00
curt
2b22f5678c Preparations for the 0.9.6-pre1 release. 2004-09-10 18:34:00 +00:00
ehofman
2a610d77e7 Move the atexit() handler over to bootstrap.cxx (which makes libMain.a behave like a real library) and fix a segmentation fault when running 'fgfs -h'. The exit handler tried to change the (still uninitialized) mouse cursor causing a core dump. 2004-08-24 08:40:41 +00:00
ehofman
d88f31fda2 Show the mouse cursor again, just before exiting. This could prevent an X windows crash for certain harware setups. 2004-08-15 16:53:11 +00:00
ehofman
827cfded73 iFrederic Bouvier: Postpone rendering the scene until the scenery is loaded. This means that the splash screen remains a bit longer, but the scenery loading time is cut in half. 2004-08-15 11:25:15 +00:00
curt
7857ef0381 Tweaks for 0.9.5 release. 2004-07-29 21:54:15 +00:00
curt
f9af52b588 Tweaks for 0.9.5-pre3 release. 2004-07-27 21:40:37 +00:00
ehofman
ef84402da1 How on earth???? Replace "and" by && and "or" by || to match C++ more closely........ 2004-07-23 07:33:24 +00:00
ehofman
9d972d86bf Jim Wilson: This patch prevents FDM execution until intial scenery load completes making
midair starts in the KSFO area possible again.
2004-07-22 16:42:14 +00:00
curt
517a7a3e5a Updates for v0.9.5-pre2. 2004-07-21 21:49:54 +00:00
curt
6076c83904 Various tweaks for v0.9.5-pre1. 2004-07-15 18:07:02 +00:00
ehofman
b7352ead12 Updates for the bump-mapped 2d cloud code. 2004-05-21 14:57:42 +00:00
ehofman
14d28907dd Add a property to be able to turn the bump-mapped cloud code on and off at runtime. 2004-05-20 13:27:40 +00:00
curt
2fce07a4ce main.cxx - small tweak to sound updating logic.
options.cxx - change property name /sim/sound/audible to /sim/sound/pause
2004-05-14 15:50:28 +00:00
curt
944a82b576 Clean up some sound buffer allocation/deallocation issues. 2004-05-10 21:24:30 +00:00
ehofman
8db96e10fb Add /sim/initialised which is set to true when we're ready to go. 2004-05-05 09:01:21 +00:00
curt
0aabc112b4 Make several assumptions:
1. The listener is always positioned at the origin.
2. All sounds eminate from the aircraft's model position.
3. Sound positions are relative to the listener location.
2004-04-27 20:49:00 +00:00
curt
8ab1e47021 Hook in the fgOSExit() function. 2004-04-25 02:17:03 +00:00
curt
2f1e2bc6e9 Register an atexit() function so we can delete the global constructor.
This also gives us a proper hook if we want to clean up SDL (Andy?)
2004-04-25 02:06:55 +00:00
ehofman
bd3c57beee Frederic Bouvier:
my code was accidentally drawing the cockpit twice
in view 0. This patch should fix the problem of
lights not seen through canopies or prop discs.

It was also drawing the lights ( ground and rw )
after the clouds, so they were not obscured by
them.
2004-04-14 07:59:50 +00:00
andy
395c9bc638 API changes to get fullscreen mode working with SDL. It can't switch
modes after creating the window, so it needs a flag in
fgOSOpenWindow().
2004-04-06 14:28:22 +00:00
ehofman
966e0bdd4d Frederic Bouvier:
I restored the output to cout / cerr
for the options and the warning for the version mismatch.
There is a dummy SG_LOG to allow the windows version to
popup the console.

The snapshot rendering use multipass now.
2004-04-03 09:27:38 +00:00
ehofman
ace81503d6 Match the changes in SimGear to fix an NVidia problem. 2004-04-02 19:44:42 +00:00
ehofman
7c616bb5bd Frederic Bouvier:
Cure the performance penalty that leads to draw the aircraft twice.
Also cure the transparency bug over the aircraft.
2004-04-02 16:50:38 +00:00
ehofman
dba02e35d4 Frederic Bouvier:
FG_ENABLE_MULTIPASS_CLOUDS must be defined to enable
 the algorithm. I made this because the stencil buffer
 must be initialized at the beginning of the program and
 OpenGL can fallback to software rendering if it can't
 find a visual with stencil buffer. I didn't touch the
 configure script, so CXXFLAGS=-DFG_ENABLE_MULTIPASS_CLOUDS
 must be set before running ./configure.

 If FG_ENABLE_MULTIPASS_CLOUDS is defined, the main render
 loop begins by reading the /sim/rendering/multi-pass-clouds
 property. It is a boolean property so there are only two
 quality levels. false means no multi pass and no use of
 the stencil buffer, true means an additionnal pass for
 both upper and lower cloud layers.

 The algorithms are as follow :
  /sim/rendering/multi-pass-clouds=false
   1. draw sky dome
   2. draw terrain only
   3. draw clouds above the viewer
   4. draw models except the aircraft
   5. draw clouds below the viewer
   6. draw the aircraft.
  The cloud rendering doesn't update the depth buffer.
  This means that models overwrite clouds above the viewer.
  This is only noticeable for tall buildings and when
  flying very low. Also, drawing low clouds after models
  means that they are not blended with models' translucent
  surfaces. Large transparent area require alpha test
  enabled and AI aircraft canopy are making holes. The
  pilot's aircraft being rendered at the end, there is no
  problem with canopy or prop disc.

  /sim/rendering/multi-pass-clouds=true
   1. draw the sky dome
   2. draw the terrain only
   3. draw all clouds
   4. draw models except the aircraft
   5. redraw the clouds where the models where drawn ( stencil
      test on )
   6. draw the aircraft
  The assumptions made by this algoritm are that the terrain
  is not transparent ( should be true in all cases and
  that there are no clouds between the aircraft and the viewer.
  Assuming these facts, there should be no blending bugs.

  The screenshot rendering is not updated yet.
2004-04-02 14:40:54 +00:00
andy
ae2dbe4f25 Re-enable glut game mode for now 2004-04-01 15:44:13 +00:00
curt
2acdd02879 Clean up various compiler warnings that have crept into the code. This
by no means get's them all, but it's a start.
2004-04-01 15:27:53 +00:00
andy
c0b4531d04 Yank out all the glut dependencies and concentrate them in a (easily
reimplementable) Main/fg_os.cxx file.
2004-03-31 21:10:32 +00:00
ehofman
d430290e48 Frederic Bouvier:
trying the --show-aircraft option, I noticed that I had
no output. This is because there are still output to
cout or cerr, that are not triggering my console patch
for windows. The patch attached use SG_LOG instead.
A request to hit a key is also added because otherwise,
the console window will disappear as soon as the program
stop.

This problem is minor though given the fact that fgfs.exe
is shipped with fgrun that do show the available aircraft
in a much nicer manner.
2004-03-30 09:05:05 +00:00
curt
f7fc455b0d Jim Wilson:
Remove some hardcoded dependencies between fdm, viewer and acmodel classes and
replaced them with property references.   Fix roll offset in viewer.
2004-03-19 03:30:18 +00:00
curt
a1a68b9c93 Various preparations for the next release. 2004-03-18 02:37:01 +00:00
david
25290c4467 Remove the old WeatherCM module. 2004-03-16 20:19:07 +00:00
david
d535c7c6b1 Reverted recent changes -- the dependencies are badly (and
unnecessarily) tangled.
2004-02-27 16:48:27 +00:00
david
721e9f469d Add the aircraft model, model manager, view manager, and scenery
manager to the standard subsystem collection manager, rather than
using extra code to initialize and update them.
2004-02-27 15:16:23 +00:00
david
9409d5e35e Change fg_props.[ch]xx into a proper subsystem, under the control of
the subsystem manager.

Add properties for the individual parts of the time and date.
2004-02-20 17:35:33 +00:00
curt
da5ea10d5d Curt Olson:
Autopilot overhaul.
2004-01-31 19:47:45 +00:00
curt
492d5fbd8d Fix a small mistake in the scene graph arrangement for vasi lights. 2004-01-11 19:45:29 +00:00
ehofman
465d13b045 Add support for an aircraft specific splash screen 2003-12-22 21:49:11 +00:00
andy
439a9fa1e4 Minor API changes to support the new sg_geodesy implementation. A few
places now use sgCartToGeod() instead of rolling their own
approximation.  And YASim is now using exactly the same 3D coordinate
system as the rest of FlightGear is.
2003-12-19 02:42:32 +00:00
david
01f8f51614 Remove the seriously-outdated DCS code (we have different facilities
for including external objects now).

Set the default logging level to 'alert' (i.e. pending disaster).
2003-11-24 17:46:38 +00:00
curt
e4295262d0 Currently, when the sim pauses, all IO is also halted. To me it generally
makes more sense to keep I/O running.  That way remote telnet connections
will still respond, and the sim can still accept and send data.  This also
allows a remote script or gui to pause and (more importantly) be able to
the unpause the sim.
2003-11-21 23:35:25 +00:00
ehofman
e322c70f52 Depreciate NetworkOLK. A big thanks goes to Oliver Delise for implementing it in the first place. 2003-11-13 14:42:47 +00:00
ehofman
177e081a2a Disable two sided light model because Andy's patch to plib makes it unneeded. This should also increase framerate a bit 2003-11-09 15:07:23 +00:00
curt
cc7b15fa7b Various 0.9.3 updates. 2003-10-24 17:06:39 +00:00
curt
58cadee5f3 Updates for 0.9.3-pre1 2003-10-16 03:29:04 +00:00
ehofman
980012e168 Move FGEventMgr and FGSubsystemMgr over to SimGear, add SGEventMgr to FlightGear's globals structre and some small code cleanups 2003-09-24 17:20:55 +00:00
ehofman
2764b9181b Fix a problem where the upper cloud layers are draw
n with the sun punch through value
2003-09-23 08:43:19 +00:00
ehofman
7d6cafba6e Use the log level environment already set up by David instead of mine 2003-09-22 09:22:05 +00:00
ehofman
e0dda6ad52 A small fix to have a smoot transition of cloud colors when in time warp mode 2003-09-20 11:05:12 +00:00
ehofman
a33ad90ed7 Convert fgLIGHT to FGLight and make it FGSubsystem compatible. Let the subsystem manager handle it and let FGLight::update() handle the repositioning of the sun and the moon. 2003-09-20 09:38:32 +00:00
ehofman
7d6aea909d Remove some unused UIUC specific code 2003-09-18 09:33:13 +00:00
ehofman
15f45ad9a5 Reorginize the code just before fgMainLoop a bit so that the lighting update actually has any effect 2003-09-17 10:02:36 +00:00
curt
9bb782ce72 Added a command line option to specify a starting time of day in the sense of:
--timeofday=dawn
  --timeofday=dusk
  --timeofday=noon
  --timeofday=midnight
2003-09-15 22:55:39 +00:00
ehofman
7249aaea33 Frederic Bouvier:
This patch is there to correct a problem that prevent to load static objects when specifying a relative fg-root or a different, relative, fg-scenery. It appears that there is a mix between fg-root, fg-scenery and PLIB's model-dir.
It has been reported on the list that users are not able to see the buildings, especially those running the win32 builds because they run 'runfgfs.bat' that set FG_ROOT=./DATA.

I decided not to use model-dir because it just add confusion and to build a valid path earlier.
2003-09-13 11:47:30 +00:00
ehofman
2be37c04fe Enable two sided lighting calculations when specular highlight is enabled 2003-09-13 09:27:50 +00:00
ehofman
dd963990dc Turn back to default lighting when specular-highlight gets disabled 2003-09-12 22:09:54 +00:00
ehofman
9812739a71 Add the posibillity to disable specular highlight because it looks like some implementations switch over to sofware rendering when this is enabled 2003-09-12 21:43:01 +00:00
ehofman
774faa157d Make it possible for textured object to change color to white when lit by a strong light source. This might affect rendering time a bit 2003-09-12 09:27:19 +00:00
ehofman
82ba3ebbde Remove a possible glut dependency and do some code cleaning 2003-08-29 16:46:21 +00:00
ehofman
69d0052375 Fix an undeclared function refference in one of the supported compiler environments 2003-08-25 12:41:40 +00:00
ehofman
ced6b4f520 Updates needed for z-ordewring of the cloud layers 2003-08-22 08:05:00 +00:00
ehofman
5ae096b225 Reorganization of main.cxx 2003-08-17 09:54:41 +00:00
ehofman
be863ee240 Work around a problem in certain NVidia adapters hat don't support fgPushAttrib(FG_FOG_BIT) 2003-08-15 17:47:34 +00:00
ehofman
5898b8f828 Needed for SimGear update 2003-07-31 14:47:56 +00:00
ehofman
62ce453136 Use a pointer to a structure instead of a large number of variables when calling a function to keep the stack clean 2003-07-31 09:06:15 +00:00
ehofman
c1fa7f95bd Comment out the UIUC ground trimming code 2003-07-27 07:49:33 +00:00
ehofman
860545bfa9 This patch increases the threshold below which the uiuc models are forced above the ground. 2003-07-26 07:56:46 +00:00
curt
c5110a3650 Try to make the replay system honor /sim/speed-up, but not fully working yet. 2003-07-25 20:09:30 +00:00
curt
fff2989853 Modified the replay system to work without enabling the master or clock freeze. 2003-07-18 14:14:24 +00:00
curt
75861ec95d Avoid collecting garbage data before the FDM is initialized. 2003-07-18 01:51:45 +00:00
curt
419f09f804 Curt:
I have added a fledgling replay system that records flight data and control
positions during the flight.

I have added an internal command called "replay" which will trigger a replay
of the entire saved flight data set.  This could be bound to a keyboard or
menu command, in fact this entire module is screaming for someone to build
a gui to control playback speed, amount of playback, etc.

This is the initial version so there are kinks that still need to be worked
out, please be patient.
2003-07-17 18:24:17 +00:00
david
2da219ef5e Update magvar model before using it to initialize compass error. 2003-07-17 00:26:38 +00:00
david
34e4ff4922 Kludge the HI error so that it initially matches the magnetic variation. 2003-07-17 00:06:03 +00:00
ehofman
7b778e859c Replace some of the most used fgGetXXXX() calls with a local variable. The next best thing would be replacing the fgGetXXXX()functions with cached pointers 2003-07-05 09:59:03 +00:00
ehofman
484bab7bc8 Make sure the functions won't be called if the extension is not supported. This also clears the main loop a bitsrc/Main/main.cxx. 2003-06-29 17:14:13 +00:00
ehofman
9e07e0ac36 Mac OS X fixes 2003-06-20 20:18:40 +00:00
ehofman
ef96cce83f (temporary) Apple OS X fix 2003-06-19 07:54:29 +00:00
ehofman
6b2b6edb2d Use a different way to call OpenGL extensions and move over to our own extension checking function instead of the one provided by glut 2003-06-18 09:19:41 +00:00
ehofman
654037b83b gcc 3.2 fixes 2003-06-17 17:51:55 +00:00
ehofman
0eda5f3872 Add:
/sim/rendering/horizon-effect
   toggle sun and moon resizing effect near the horizon

/sim/rendering/enhanced-lighting
   toggle enhanced runway lighting on or off

/sim/rendering/distance-attenuation
   add distance attenuation to the enhanced runway lighting
2003-06-17 16:59:26 +00:00
ehofman
b082300ab1 Model the effect where the sun and moon look 1.5 times larger when close to the horizon 2003-06-15 12:23:55 +00:00
ehofman
0c5115e69a Base sun and moon diameter and distance on actual numbers 2003-06-14 09:32:06 +00:00
curt
6db343914f Changes corresponding to simgear sky api tweak. 2003-06-11 19:06:48 +00:00
curt
f4403fdea8 Cosmetic changes ... 2003-06-09 20:24:50 +00:00
david
e588cbadd8 Removed FGEnvironmentMgr as a special case in globals, initialization,
etc.

Improved the weather system to interpolate between different
elevations and deal with boundary-layer conditions.  The configuration
properties are now different (see $FG_ROOT/preferences.xml).
2003-06-08 14:47:03 +00:00
curt
bfaaa63bb2 Changes in preparation for the 0.9.2 release. 2003-06-04 20:27:05 +00:00
curt
9c0c54ef6c Implimented a simple frame rate throttle.
Normally for smoothest frame rates you would configure to sync
to your monitor's vertical refresh signal.  This is card/platform
dependent ... for instance with Linux/Nvidia there is
an environment variable you can set to enable this feature.

However, if your monitor is refreshing at 60hz and you can't quite sustain
that with flightgear, you can get smoother frame rates by artificially
throttling yourself to 30hz.  Note that once you are about about 24fps, it
is *change* or inconsistancy in frame rate that leads to percieved jerkiness.

You want to do whole divisors of your monitor refresh rate, so if your
display is syncing at 75 hz, you might want to try throttling to 25 hz.
2003-06-02 16:35:36 +00:00
ehofman
f30f40a2fb Fix a initialization ordering bug:
Melchior FRANZ:
The reason: these models are to be added to the scenery, but the
scenery isn't yet set up at this point. The correct order is:

 - set up model_lib (needed by the scenery)
 - set up scenery (needed by the model manager)
 - set up model manager
2003-05-31 13:38:10 +00:00
curt
21b317ff21 Move simgear/sky/ to simgear/scene/sky as part of the consolodation of
graphics code.
2003-05-30 15:16:57 +00:00
curt
56592f3869 Moved random ground cover object management code (userdata.[ch]xx) over
to SimGear.
2003-05-28 20:29:05 +00:00
ehofman
ff7408fdf2 Adjust sunset/sun rise color scheme 2003-05-16 16:33:23 +00:00
curt
6200c3cb62 Changes to track updates to SimGear. 2003-05-15 21:35:51 +00:00
curt
d6ae1c2205 Create an instance of SGMaterialLib in the "globals" structure and use
that.
2003-05-14 18:33:56 +00:00
curt
3c7bdc31d9 Cosmetic changes for new code moved into simgear to make the naming scheme
better follow simgear conventions.
2003-05-13 03:18:42 +00:00
curt
65c3caa032 Moved fgfs_src/Object/newmat.[ch]xx and fgfs_src/Object/matlib.[ch]xx into
simgear/scene/material/
Adjusted flightgear code to match this change.
2003-05-12 21:34:29 +00:00
curt
56db994994 Moved src/Model/loader.[ch]xx and src/Model/model.[ch]xx to
simgear/scene/model/
2003-05-09 20:40:59 +00:00
ehofman
5ecfcca7e4 Extract the sound code from FlightGear and move it to SimGear 2003-05-09 18:44:33 +00:00
curt
fe7a61d3ff Moved src/Model/*Animation* classes over to simgear. 2003-05-08 16:33:48 +00:00
curt
b85ff8c210 Timed animations now working again. 2003-05-08 15:56:31 +00:00
curt
677ec873be Clean up various dead, depricated, or otherwise unused code. I don't believe
the ascii scenery file format has actually worked in quite some time, and the
ADA runway light code has been supersceded by a slightly different mechanism.
2003-05-08 03:29:49 +00:00
ehofman
18dec3596d Curtis found another inconsistency in the sky repaint check. I am afraid that adding more checks would eventually give the same framerate as repainting every frame. Consider this a failed experiment. 2003-05-07 15:53:50 +00:00
curt
2119db35c3 This is step "1" of probably "many" in the process of separating out the
scene management code and organizing it within simgear.  My strategy is
to identify the code I want to move, and break it's direct flightgear
dependencies.  Then it will be free to move over into the simgear package.

- Moved some property specific code into simgear/props/
- Split out the condition code from fgfs/src/Main/fg_props and put it
  in it's own source file in simgear/props/
- Created a scene subdirectory for scenery, model, and material property
  related code.
- Moved location.[ch]xx into simgear/scene/model/
- The location and condition code had dependencies on flightgear's global
  state (all the globals-> stuff, the flightgear property tree, etc.)  SimGear
  code can't depend on it so that data has to be passed as parameters to the
  functions/methods/constructors.
- This need to pass data as function parameters had a dramatic cascading
  effect throughout the FlightGear code.
2003-05-06 23:46:24 +00:00
ehofman
b49b93f1ed Make sure the sky is also repainted when the relative view direction gets out of sync. Add a refference to /sim/rendering/debug for always repainting the sky dome. 2003-05-06 14:00:18 +00:00
ehofman
5a66847064 Repaint the sky when the view heading changes also 2003-05-05 12:39:05 +00:00
ehofman
80c8fbe4a3 Temporary disable the sky reposition speedup code until I discover the magic key that unlocks the proper behaviour. It's not like this causes a noticable decrease in framerate. 2003-04-20 09:13:03 +00:00
ehofman
d1982a9a8c Reposition the sky modules only when the lat or long position is changed for 5 micro degree. This doesn't sound much, but at least it means the modules aren't repositioned every frame 2003-04-17 15:42:18 +00:00
ehofman
d26a39cfe1 Oops, the repositioning code needs more work to be usefull. 2003-04-15 14:30:37 +00:00