#include <string.h>
-#include <Aircraft/aircraft.h>
-#include <Debug/fg_debug.h>
+#include <Aircraft/aircraft.hxx>
+#include <Debug/logstream.hxx>
#include <Include/fg_constants.h>
#include <Main/options.hxx>
#include <Main/views.hxx>
-#include <Math/fg_geodesy.h>
+#include <Math/fg_geodesy.hxx>
#include <Math/interpolater.hxx>
#include <Math/mat3.h>
#include <Math/polar3d.hxx>
void fgLIGHT::Init( void ) {
string path, ambient, diffuse, sky;
- fgPrintf( FG_EVENT, FG_INFO,
- "Initializing Lighting interpolation tables.\n" );
+ FG_LOG( FG_EVENT, FG_INFO,
+ "Initializing Lighting interpolation tables." );
// build the path name to the ambient lookup table
path = current_options.get_fg_root();
t = &cur_time_params;
v = ¤t_view;
- fgPrintf( FG_EVENT, FG_INFO, "Updating light parameters.\n" );
+ FG_LOG( FG_EVENT, FG_INFO, "Updating light parameters." );
// calculate lighting parameters based on sun's relative angle to
// local up
deg = sun_angle * 180.0 / FG_PI;
- fgPrintf( FG_EVENT, FG_INFO, " Sun angle = %.2f.\n", deg );
+ FG_LOG( FG_EVENT, FG_INFO, " Sun angle = " << deg );
ambient = ambient_tbl->interpolate( deg );
diffuse = diffuse_tbl->interpolate( deg );
sky_brightness = sky_tbl->interpolate( deg );
- fgPrintf( FG_EVENT, FG_INFO,
- " ambient = %.2f diffuse = %.2f sky = %.2f\n",
- ambient, diffuse, sky_brightness );
+ FG_LOG( FG_EVENT, FG_INFO,
+ " ambient = " << ambient << " diffuse = " << diffuse
+ << " sky = " << sky_brightness );
// sky_brightness = 0.15; // used to force a dark sky (when testing)
f = current_aircraft.flight;
v = ¤t_view;
- fgPrintf( FG_EVENT, FG_DEBUG, "Updating adjusted fog parameters.\n" );
+ FG_LOG( FG_EVENT, FG_DEBUG, "Updating adjusted fog parameters." );
// set fog color (we'll try to match the sunset color in the
// direction we are looking
sun_angle_deg = sun_angle * RAD_TO_DEG;
if ( (sun_angle_deg > 80.0) && (sun_angle_deg < 100.0) ) {
/* 0.0 - 0.6 */
- param1[0] = (10.0 - fabs(90.0 - sun_angle_deg)) / 10.0;
- param1[1] = (10.0 - fabs(90.0 - sun_angle_deg)) / 50.0;
- param1[2] = 0.0;
+ param1[0] = (10.0 - fabs(90.0 - sun_angle_deg)) / 20.0;
+ param1[1] = (10.0 - fabs(90.0 - sun_angle_deg)) / 40.0;
+ param2[2] = -(10.0 - fabs(90.0 - sun_angle)) / 30.0;
} else {
param1[0] = param1[1] = param1[2] = 0.0;
}
}
-// wrapper function for updating light parameters via the event scheduler
-void fgLightUpdate ( void ) {
- fgLIGHT *l;
- l = &cur_light_params;
-
- l->Update();
-}
-
-
// $Log$
+// Revision 1.20 1998/11/06 21:18:27 curt
+// Converted to new logstream debugging facility. This allows release
+// builds with no messages at all (and no performance impact) by using
+// the -DFG_NDEBUG flag.
+//
+// Revision 1.19 1998/10/20 18:41:53 curt
+// Tweaked sunrise/sunset colors.
+//
+// Revision 1.18 1998/10/17 01:34:30 curt
+// C++ ifying ...
+//
+// Revision 1.17 1998/08/29 13:11:33 curt
+// Bernie Bright writes:
+// I've created some new classes to enable pointers-to-functions and
+// pointers-to-class-methods to be treated like objects. These objects
+// can be registered with fgEVENT_MGR.
+//
+// File "Include/fg_callback.hxx" contains the callback class defns.
+//
+// Modified fgEVENT and fgEVENT_MGR to use the callback classes. Also
+// some minor tweaks to STL usage.
+//
+// Added file "Include/fg_stl_config.h" to deal with STL portability
+// issues. I've added an initial config for egcs (and probably gcc-2.8.x).
+// I don't have access to Visual C++ so I've left that for someone else.
+// This file is influenced by the stl_config.h file delivered with egcs.
+//
+// Added "Include/auto_ptr.hxx" which contains an implementation of the
+// STL auto_ptr class which is not provided in all STL implementations
+// and is needed to use the callback classes.
+//
+// Deleted fgLightUpdate() which was just a wrapper to call
+// fgLIGHT::Update().
+//
+// Modified fg_init.cxx to register two method callbacks in place of the
+// old wrapper functions.
+//
// Revision 1.16 1998/08/27 17:02:11 curt
// Contributions from Bernie Bright <bbright@c031.aone.net.au>
// - use strings for fg_root and airport_id and added methods to return