"H" / "h" now control hud brightness as well with off being one of the
states.
Better checking for xmesa/fx 3dfx fullscreen/window support for deciding
whether or not to build in the feature.
Translucent menu support.
HAVE_AUDIO_SUPPORT -> ENABLE_AUDIO_SUPPORT
Use fork() / wait() for playing mp3 init music in background under unix.
Changed default tile diameter to 5.
Added ground collision detection. This involved:
- saving the entire vertex list for each tile with the tile records.
- saving the face list for each fragment with the fragment records.
- code to intersect the current vertical line with the proper face in
an efficient manner as possible.
Fixed a bug where the tiles weren't being shifted to "near" (0,0,0)
Added ground collision detection.
Did some serious horsing around to be able to "hug" the ground properly
and still be able to take off.
Set the near clip plane to 1.0 meters when less than 10 meters above the
ground.
Did some serious horsing around getting the initial airplane position to be
correct based on rendered terrain elevation.
Added a little cheat/hack that will prevent the view position from ever
dropping below the terrain, even when the flight model doesn't quite
put you as high as you'd like.
Removed some printf()'s.
Fixed the autopilot integration so it should be able to update it's control
positions every time the internal flight model loop is run, and not just
once per rendered frame.
Added a routine to do the necessary stuff to force an arbitrary altitude
change.
Gave the Navion engine just a tad more power.
Added fgFlightModelSetAltitude() to force the altitude to something
other than the current altitude. LaRCsim doesn't let you do this by just
changing FG_Altitude.
Fix GL_MODULATE vs. GL_DECAL problem introduced by splash screen.
polare3d.h renamed to polar3d.hxx
fg{Cartesian,Polar}Point3d consolodated.
Added some initial support for calculating local current ground elevation.
polar3d.h renamed to polar3d.hxx
vector.h renamed to vector.hxx
updated audio support so it waits to create audio classes (and tie up
/dev/dsp) until the mpg123 player is finished.
Added an enable/disable splash screen option.
Added an enable/disable intro music option.
Added an enable/disable instrument panel option.
Added an enable/disable mouse pointer option.
Added using namespace std for compilers that support this.
Added support for switching between fullscreen and window mode for
Mesa/3dfx/glide.
Added a basic splash screen. Restructured the main loop and top level
initialization routines to do this.
Hacked in some support for playing a startup mp3 sound file while rest
of sim initializes. Currently only works in Unix using the mpg123 player.
Waits for the mpg123 player to finish before initializing internal
sound drivers.
Add my own version of gluLookAt() (which is nearly identical to the
Mesa/glu version.) But, by calculating the Model View matrix our selves
we can save this matrix without having to read it back in from the video
card. This hopefully allows us to save a few cpu cycles when rendering
out the fragments because we can just use glLoadMatrixd() with the
precalculated matrix for each tile rather than doing a push(), translate(),
pop() for every fragment.
Panel status defaults to off for now until it gets a bit more developed.
Check for full screen (no windows system support) before having PUI draw
it's ugly excuse for a mouse. :-) The check is probably not general enough,
but it can be improved as more and varied hardware is tested.
curt [Wed, 17 Jun 1998 21:36:39 +0000 (21:36 +0000)]
Load and manage multiple textures defined in the Materials library.
Boost max material fagments for each material property to 800.
Multiple texture support when rendering.
curt [Wed, 17 Jun 1998 21:35:10 +0000 (21:35 +0000)]
Refined conditional audio support compilation.
Moved texture parameter setup calls to ../Scenery/materials.cxx
#include <string.h> before various STL includes.
Make HUD default state be enabled.
curt [Fri, 12 Jun 1998 01:00:59 +0000 (01:00 +0000)]
Build only static libraries.
Declare memmove/memset for Sloaris.
Added support for exponetial fog, which solves for the proper density to
achieve the desired visibility range.
curt [Fri, 12 Jun 1998 00:59:52 +0000 (00:59 +0000)]
Build only static libraries.
Declare memmove/memset for Sloaris.
Rewrote fg_time.c routine to get LST start seconds to better handle
Solaris, and be easier to port, and understand the GMT vs. local
timezone issues.
curt [Fri, 5 Jun 1998 18:18:12 +0000 (18:18 +0000)]
Incorporated some automake conditionals to try to support mktime() correctly
on a wider variety of platforms.
Added the declaration of memmove needed by the stl which apparently
solaris only defines for cc compilations and not for c++ (__STDC__)
curt [Wed, 3 Jun 1998 00:47:11 +0000 (00:47 +0000)]
Updated to compile in audio support if OSS available.
Updated for new version of Steve's audio library.
STL includes don't use .h
Small view optimizations.
curt [Sat, 23 May 1998 14:09:20 +0000 (14:09 +0000)]
Added tile.cxx and tile.hxx.
Working on rewriting the tile management system so a tile is just a list
fragments, and the fragment record contains the display list for that fragment.
curt [Fri, 22 May 1998 21:14:53 +0000 (21:14 +0000)]
Rewrote event.cxx in C++ as a class using STL for the internal event list
and run queue this removes the arbitrary list sizes and makes things much
more dynamic. Because this is C++-classified we can now have multiple
event_tables if we'd ever want them.
curt [Wed, 20 May 1998 20:53:53 +0000 (20:53 +0000)]
Moved global ref point and radius (bounding sphere info, and offset) to
data file rather than calculating it on the fly.
Fixed polygon winding problem in scenery generation stage rather than
compensating for it on the fly.
Made a fgTILECACHE class.
curt [Sat, 16 May 1998 13:09:57 +0000 (13:09 +0000)]
Beginning to add support for view frustum culling.
Added some temporary code to calculate bouding radius, until the
scenery generation tools and scenery can be updated.
curt [Sat, 16 May 1998 13:08:34 +0000 (13:08 +0000)]
C++ - ified views.[ch]xx
Shuffled some additional view parameters into the fgVIEW class.
Changed tile-radius to tile-diameter because it is a much better
name.
Added a WORLD_TO_EYE transformation to views.cxx. This allows us
to transform world space to eye space for view frustum culling.