#include <stdio.h>
#include <stdlib.h>
+#include <Debug/fg_debug.h>
#include <Main/GLUTkey.h>
-#include <Main/fg_debug.h>
#include <Main/views.h>
#include <Include/fg_constants.h>
/* $Log$
-/* Revision 1.32 1998/04/14 02:21:01 curt
-/* Incorporated autopilot heading hold contributed by: Jeff Goeke-Smith
-/* <jgoeke@voyager.net>
+/* Revision 1.33 1998/04/18 04:11:25 curt
+/* Moved fg_debug to it's own library, added zlib support.
/*
+ * Revision 1.32 1998/04/14 02:21:01 curt
+ * Incorporated autopilot heading hold contributed by: Jeff Goeke-Smith
+ * <jgoeke@voyager.net>
+ *
* Revision 1.31 1998/04/08 23:34:05 curt
* Patch from Durk to fix trim reversal with numlock key active.
*
# include <getopt.h>
#endif
+#include <Debug/fg_debug.h>
#include <Main/GLUTkey.h>
#include <Main/fg_init.h>
-#include <Main/fg_debug.h>
#include <Main/fg_getopt.h>
#include <Main/views.h>
struct fgVIEW *v;
double angle;
GLfloat white[4] = { 1.0, 1.0, 1.0, 1.0 };
+ GLfloat black[4] = { 0.0, 0.0, 0.0, 1.0 };
l = &cur_light_params;
t = &cur_time_params;
GL_LINEAR /* GL_LINEAR_MIPMAP_LINEAR */ ) ;
xglTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE ) ;
xglHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST ) ;
+ /* set base color (I don't think this is doing anything here) */
+ xglColor4fv(white);
fgTileMgrRender();
#endif
/* $Log$
-/* Revision 1.70 1998/04/14 02:21:02 curt
-/* Incorporated autopilot heading hold contributed by: Jeff Goeke-Smith
-/* <jgoeke@voyager.net>
+/* Revision 1.71 1998/04/18 04:11:26 curt
+/* Moved fg_debug to it's own library, added zlib support.
/*
+ * Revision 1.70 1998/04/14 02:21:02 curt
+ * Incorporated autopilot heading hold contributed by: Jeff Goeke-Smith
+ * <jgoeke@voyager.net>
+ *
* Revision 1.69 1998/04/08 23:35:34 curt
* Tweaks to Gnu automake/autoconf system.
*
GLUTkey.c GLUTkey.h \
GLUTmain.c \
fg_config.h \
- fg_debug.c fg_debug.h \
fg_getopt.c fg_getopt.h \
fg_init.c fg_init.h \
views.c views.h
$(top_builddir)/Simulator/Time/libTime.la \
$(top_builddir)/Simulator/Weather/libWeather.la \
$(top_builddir)/Simulator/Joystick/libJoystick.la \
- $(top_builddir)/Simulator/Math/libMath.la \
- $(top_builddir)/Lib/Bucket/libBucket.la
+ $(top_builddir)/Lib/Math/libMath.la \
+ $(top_builddir)/Lib/Bucket/libBucket.la \
+ $(top_builddir)/Lib/Debug/libDebug.la \
+ $(top_builddir)/Lib/zlib/libz.la
INCLUDES += \
-DGLUT \
GLUTkey.c GLUTkey.h \
GLUTmain.c \
fg_config.h \
- fg_debug.c fg_debug.h \
fg_getopt.c fg_getopt.h \
fg_init.c fg_init.h \
views.c views.h
$(top_builddir)/Simulator/Time/libTime.la \
$(top_builddir)/Simulator/Weather/libWeather.la \
$(top_builddir)/Simulator/Joystick/libJoystick.la \
- $(top_builddir)/Simulator/Math/libMath.la \
- $(top_builddir)/Lib/Bucket/libBucket.la
+ $(top_builddir)/Lib/Math/libMath.la \
+ $(top_builddir)/Lib/Bucket/libBucket.la \
+ $(top_builddir)/Lib/Debug/libDebug.la \
+ $(top_builddir)/Lib/zlib/libz.la
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../../Include/config.h
CONFIG_CLEAN_FILES = runfg runfg.bat
X_LIBS = @X_LIBS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
-fg_OBJECTS = GLUTkey.o GLUTmain.o fg_debug.o fg_getopt.o fg_init.o \
-views.o
+fg_OBJECTS = GLUTkey.o GLUTmain.o fg_getopt.o fg_init.o views.o
fg_DEPENDENCIES = $(top_builddir)/Simulator/Aircraft/libAircraft.la \
$(top_builddir)/Simulator/Astro/libAstro.la \
$(top_builddir)/Simulator/Autopilot/libAutopilot.la \
$(top_builddir)/Simulator/Time/libTime.la \
$(top_builddir)/Simulator/Weather/libWeather.la \
$(top_builddir)/Simulator/Joystick/libJoystick.la \
-$(top_builddir)/Simulator/Math/libMath.la \
-$(top_builddir)/Lib/Bucket/libBucket.la
+$(top_builddir)/Lib/Math/libMath.la \
+$(top_builddir)/Lib/Bucket/libBucket.la \
+$(top_builddir)/Lib/Debug/libDebug.la $(top_builddir)/Lib/zlib/libz.la
fg_LDFLAGS =
SCRIPTS = $(bin_SCRIPTS)
TAR = tar
GZIP = --best
-DEP_FILES = .deps/GLUTkey.P .deps/GLUTmain.P .deps/fg_debug.P \
-.deps/fg_getopt.P .deps/fg_init.P .deps/views.P
+DEP_FILES = .deps/GLUTkey.P .deps/GLUTmain.P .deps/fg_getopt.P \
+.deps/fg_init.P .deps/views.P
SOURCES = $(fg_SOURCES)
OBJECTS = $(fg_OBJECTS)
+++ /dev/null
-/* -*- Mode: C++ -*-
- *
- * fg_debug.c -- Flight Gear debug utility functions
- *
- * Written by Paul Bleisch, started January 1998.
- *
- * Copyright (C) 1998 Paul Bleisch, pbleisch@acm.org
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * $Id$
- * (Log is kept at end of this file)
- **************************************************************************/
-
-
-#include <string.h>
-#include <stdio.h>
-#include <stdarg.h>
-#include <stdlib.h>
-
-#include <Include/cmdargs.h> // Line to command line arguments
-#include <Main/fg_debug.h>
-
-
-static int fg_DebugSem = 1;
-fgDebugClass fg_DebugClass = FG_NONE; // Need visibility for
-fgDebugPriority fg_DebugPriority = FG_INFO; // command line processing.
-static fgDebugCallback fg_DebugCallback = NULL;
-
-FILE *fg_DebugOutput = NULL; // Visibility needed for command line processor.
- // This can be set to a FILE from the command
- // line. If not, it will be set to stderr.
-
-/* TODO: Actually make this thing thread safe */
-#ifdef USETHREADS
-#define FG_GRABDEBUGSEM while( --fg_DebugSem < 0 ) { fg_DebugSem++; }
-#define FG_RELEASEDEBUGSEM fg_DebugSem++;
-#else
-#define FG_GRABDEBUGSEM
-#define FG_RELEASEDEBUGSEM
-#endif
-
-/* Used for convienence initialization from env variables.
- */
-static struct {
- char *str;
- fgDebugClass dbg_class;
-} fg_DebugClasses[] = {
- { "FG_NONE", 0x00000000 },
- { "FG_TERRAIN", 0x00000001 },
- { "FG_ASTRO", 0x00000002 },
- { "FG_FLIGHT", 0x00000004 },
- { "FG_INPUT", 0x00000008 },
- { "FG_GL", 0x00000010 },
- { "FG_VIEW", 0x00000020 },
- { "FG_COCKPIT", 0x00000040 },
- { "FG_GENERAL", 0x00000080 },
- { "FG_MATH", 0x00000100 },
- { "FG_EVENT", 0x00000200 },
- { "FG_AIRCRAFT",0x00000400 },
-
- /* Do not edit below here, last entry should be null */
- { "FG_ALL", 0xFFFFFFFF },
- { NULL, 0 }
-};
-
-static fgDebugClass fgDebugStrToClass( char *str );
-
-
-/* fgInitDebug =============================================================*/
-void fgInitDebug( void ) {
- char *pszClass, *pszPrio, *pszFile;
-
- // Support for log file/alt debug output via command line, environment or
- // reasonable default.
-
- if( strlen( logArgbuf ) > 3) { // First check for command line option
- // Assumed that we will append.
- fg_DebugOutput = fopen(logArgbuf, "a+" );
- }
-
- if( !fg_DebugOutput ) { // If not set on command line, environment?
- pszFile = getenv( "FG_DEBUGFILE" );
- if( pszFile ) { // There is such an environmental variable.
- fg_DebugOutput = fopen( pszFile, "a+" );
- }
- }
-
- if( !fg_DebugOutput ) { // If neither command line nor environment
- fg_DebugOutput = stderr; // then we use the fallback position
- }
-
- FG_GRABDEBUGSEM;
- fg_DebugSem = fg_DebugSem; /* shut up GCC */
-
- // Test command line option overridge of debug priority. If the value
- // is in range (properly optioned) the we will override both defaults
- // and the environmental value.
-
- if ((priorityArgValue >= FG_BULK) && (priorityArgValue <= FG_ABORT)) {
- fg_DebugPriority = priorityArgValue;
- } else { // Either not set or out of range. We will not warn the user.
- pszPrio = getenv( "FG_DEBUGPRIORITY" );
- if( pszPrio ) {
- fg_DebugPriority = atoi( pszPrio );
- fprintf( stderr,
- "fg_debug.c: Environment overrides default debug priority (%d)\n",
- fg_DebugPriority );
- }
- }
-
-
- if ((debugArgValue >= FG_ALL) && (debugArgValue < FG_UNDEFD)) {
- fg_DebugPriority = priorityArgValue;
- } else { // Either not set or out of range. We will not warn the user.
- pszClass = getenv( "FG_DEBUGCLASS" );
- if( pszClass ) {
- fg_DebugClass = fgDebugStrToClass( pszClass );
- fprintf( stderr,
- "fg_debug.c: Environment overrides default debug class (0x%08X)\n",
- fg_DebugClass );
- }
- }
-
- FG_RELEASEDEBUGSEM;
-}
-
-/* fgDebugStrToClass ======================================================*/
-fgDebugClass fgDebugStrToClass( char *str ) {
- char *hex = "0123456789ABCDEF";
- char *hexl = "0123456789abcdef";
- char *pt, *p, *ph, ps = 1;
- unsigned int val = 0, i;
-
- if( str == NULL ) {
- return 0;
- }
-
- /* Check for 0xXXXXXX notation */
- if( (p = strstr( str, "0x")) ) {
- p++; p++;
- while (*p) {
- if( (ph = strchr(hex,*p)) || (ph = strchr(hexl,*p)) ){
- val <<= 4;
- val += ph-hex;
- p++;
- } else {
- // fprintf( stderr, "Error in hex string '%s'\n", str );
- return FG_NONE;
- }
- }
- } else {
- /* Must be in string format */
- p = str;
- ps = 1;
- while( ps ) {
- while( *p && (*p==' ' || *p=='\t') ) p++; /* remove whitespace */
- pt = p; /* mark token */
- while( *p && (*p!='|') ) p++; /* find OR or EOS */
- ps = *p; /* save value at p so we can attempt to be bounds safe */
- *p++ = 0; /* terminate token */
- /* determine value for token */
- i=0;
- while( fg_DebugClasses[i].str &&
- strncmp( fg_DebugClasses[i].str, pt,
- strlen(fg_DebugClasses[i].str)) ) i++;
- if( fg_DebugClasses[i].str == NULL ) {
- fprintf( stderr,
- "fg_debug.c: Could not find message class '%s'\n",
- pt );
- } else {
- val |= fg_DebugClasses[i].dbg_class;
- }
- }
- }
- return (fgDebugClass)val;
-}
-
-
-/* fgSetDebugOutput =======================================================*/
-void fgSetDebugOutput( FILE *out ) {
- FG_GRABDEBUGSEM;
- fflush( fg_DebugOutput );
- fg_DebugOutput = out;
- FG_RELEASEDEBUGSEM;
-}
-
-
-/* fgSetDebugLevels =======================================================*/
-void fgSetDebugLevels( fgDebugClass dbg_class, fgDebugPriority prio ) {
- FG_GRABDEBUGSEM;
- fg_DebugClass = dbg_class;
- fg_DebugPriority = prio;
- FG_RELEASEDEBUGSEM;
-}
-
-
-/* fgRegisterDebugCallback ================================================*/
-fgDebugCallback fgRegisterDebugCallback( fgDebugCallback callback ) {
- fgDebugCallback old;
- FG_GRABDEBUGSEM;
- old = fg_DebugCallback;
- fg_DebugCallback = callback;
- FG_RELEASEDEBUGSEM;
- return old;
-}
-
-
-/* fgPrintf ===============================================================*/
-int fgPrintf( fgDebugClass dbg_class, fgDebugPriority prio, char *fmt, ... ) {
- char szOut[1024+1];
- va_list ap;
- int ret = 0;
-
- // If no action to take, then don't bother with the semaphore
- // activity Slight speed benefit.
-
- // printf("dbg_class = %d fg_DebugClass = %d\n", dbg_class, fg_DebugClass);
- // printf("prio = %d fg_DebugPriority = %d\n", prio, fg_DebugPriority);
-
- if( !(dbg_class & fg_DebugClass) ) {
- // Failed to match a specific debug class
- if ( prio < fg_DebugPriority ) {
- // priority is less than requested
-
- // "ret" is zero anyway. But we might think about changing
- // it upon some error condition?
- return ret;
- }
- }
-
- FG_GRABDEBUGSEM;
-
- /* ret = vsprintf( szOut, fmt, (&fmt+1)); (but it didn't work, thus ... */
- va_start (ap, fmt);
- ret = vsprintf( szOut, fmt, ap);
- va_end (ap);
-
- if( fg_DebugCallback!=NULL && fg_DebugCallback(dbg_class, prio, szOut) ) {
- FG_RELEASEDEBUGSEM;
- return ret;
- } else {
- fprintf( fg_DebugOutput, szOut );
- FG_RELEASEDEBUGSEM;
- if( prio == FG_EXIT ) {
- exit(0);
- } else if( prio == FG_ABORT ) {
- abort();
- }
- }
- return ret;
-}
-
-
-/* $Log$
-/* Revision 1.10 1998/03/14 00:31:21 curt
-/* Beginning initial terrain texturing experiments.
-/*
- * Revision 1.9 1998/03/09 22:44:58 curt
- * Modified so that you can specify FG_DEBUGCLASS ***or*** FG_DEBUG_PRIORITY
- *
- * Revision 1.8 1998/03/09 22:11:00 curt
- * Processed through the format-o-matic.
- *
- * Revision 1.7 1998/02/16 13:39:43 curt
- * Miscellaneous weekend tweaks. Fixed? a cache problem that caused whole
- * tiles to occasionally be missing.
- *
- */
+++ /dev/null
-/* -*- Mode: C++ -*-
- *
- * fg_debug.h -- Flight Gear debug utility functions
- *
- * Written by Paul Bleisch, started January 1998.
- *
- * Copyright (C) 1998 Paul Bleisch, pbleisch@acm.org
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * (Log is kept at end of this file)
- **************************************************************************/
-
-
-#ifndef _FG_DEBUG_H
-#define _FG_DEBUG_H
-
-#include <stdio.h>
-
-/* NB: To add a dbg_class, add it here, and add it to the structure in
- fg_debug.c */
-typedef enum {
- FG_NONE = 0x00000000,
-
- FG_TERRAIN = 0x00000001,
- FG_ASTRO = 0x00000002,
- FG_FLIGHT = 0x00000004,
- FG_INPUT = 0x00000008,
- FG_GL = 0x00000010,
- FG_VIEW = 0x00000020,
- FG_COCKPIT = 0x00000040,
- FG_GENERAL = 0x00000080,
- FG_MATH = 0x00000100,
- FG_EVENT = 0x00000200,
- FG_AIRCRAFT= 0x00000400,
- FG_UNDEFD = 0x00001000, // For range checking
-
- FG_ALL = 0xFFFFFFFF
-} fgDebugClass;
-
-/* NB: To add a priority, add it here. */
-typedef enum {
- FG_BULK, /* For frequent messages */
- FG_DEBUG, /* Less frequent debug type messages */
- FG_INFO, /* Informatory messages */
- FG_WARN, /* Possible impending problem */
- FG_ALERT, /* Very possible impending problem */
- FG_EXIT, /* Problem (no core) */
- FG_ABORT /* Abandon ship (core) */
-} fgDebugPriority;
-
-
-/* Initialize the debuggin stuff. */
-void fgInitDebug( void );
-
-
-/* fgPrintf
-
- Expects:
- class fgDebugClass mask for this message.
- prio fgDebugPriority of this message.
- fmt printf like string format
- ... var args for fmt
-
- Returns:
- number of items in fmt handled.
-
- This function works like the standard C library function printf() with
- the addition of message classes and priorities (see fgDebugClasses
- and fgDebugPriorities). These additions allow us to classify messages
- and disable sets of messages at runtime. Only messages with a prio
- greater than or equal to fg_DebugPriority and in the current debug class
- (fg_DebugClass) are printed.
-*/
-int fgPrintf( fgDebugClass dbg_class, fgDebugPriority prio, char *fmt, ... );
-
-
-/* fgSetDebugLevels()
-
- Expects:
- dbg_class Bitmask representing classes to display.
- prio Minimum priority of messages to display.
-*/
-void fgSetDebugLevels( fgDebugClass dbg_class, fgDebugPriority prio );
-
-/* fgSetDebugOutput()
-
- Expects:
- file A FILE* to a stream to send messages to.
-
- It is assumed the file stream is open and writable. The system
- defaults to stderr. The current stream is flushed but not
- closed.
-*/
-void fgSetDebugOutput( FILE *out );
-
-
-/* fgRegisterDebugCallback
-
- Expects:
- callback A function that takes parameters as defined by the
- fgDebugCallback type.
-
- Returns:
- a pointer to the previously registered callback (if any)
-
- Install a user defined debug log callback. This callback is called w
- whenever fgPrintf is called. The parameters passed to the callback are
- defined above by fgDebugCallback. outstr is the string that is to be
- printed. If callback returns nonzero, it is assumed that the message
- was handled fully by the callback and **fgPrintf need do no further
- processing of the message.** Only one callback may be installed at a
- time.
-*/
-
-//typedef int (*fgDebugCallback)(fgDebugClass, fgDebugPriority, char *outstr);
-//fgDebugCallback fgRegisterDebugCallback( fgDebugCallback callback );
-
-typedef int (*fgDebugCallback)( int DebugClass, int DebugPriority, char *outstr);
-fgDebugCallback fgRegisterDebugCallback( fgDebugCallback callback );
-
-
-// Leave these alone. Access intended for fg_debug and command line processing.
-//
-extern fgDebugClass fg_DebugClass;
-extern fgDebugPriority fg_DebugPriority;
-
-extern FILE * fg_DebugOutput;
-
-#endif /* _FG_DEBUG_H */
-
#include <Astro/sun.h>
#include <Autopilot/autopilot.h>
#include <Cockpit/cockpit.h>
+#include <Debug/fg_debug.h>
#include <Joystick/joystick.h>
#include <Math/fg_random.h>
#include <Scenery/scenery.h>
#include <Time/fg_time.h>
#include <Time/sunpos.h>
#include <Weather/weather.h>
-#include <Main/fg_debug.h>
extern int show_hud; /* HUD state */
extern int displayInstruments;
// FG_Altitude = FG_Runway_altitude + 3.758099;
// Test Position
- FG_Longitude = ( -113.5 ) * DEG_TO_RAD;
- FG_Latitude = ( 33.5 ) * DEG_TO_RAD;
- FG_Runway_altitude = 8000.0;
- FG_Altitude = FG_Runway_altitude + 3.758099;
-
- // A random test position
- // FG_Longitude = ( 88128.00 / 3600.0 ) * DEG_TO_RAD;
- // FG_Latitude = ( 93312.00 / 3600.0 ) * DEG_TO_RAD;
+ // FG_Longitude = ( -109.5 ) * DEG_TO_RAD;
+ // FG_Latitude = ( 32.5 ) * DEG_TO_RAD;
+ // FG_Runway_altitude = (2646 + 2000);
+ // FG_Altitude = FG_Runway_altitude + 3.758099;
fgPrintf( FG_GENERAL, FG_INFO,
"Initial position is: (%.4f, %.4f, %.2f)\n",
/* $Log$
-/* Revision 1.55 1998/04/14 02:21:03 curt
-/* Incorporated autopilot heading hold contributed by: Jeff Goeke-Smith
-/* <jgoeke@voyager.net>
+/* Revision 1.56 1998/04/18 04:11:28 curt
+/* Moved fg_debug to it's own library, added zlib support.
/*
+ * Revision 1.55 1998/04/14 02:21:03 curt
+ * Incorporated autopilot heading hold contributed by: Jeff Goeke-Smith
+ * <jgoeke@voyager.net>
+ *
* Revision 1.54 1998/04/08 23:35:36 curt
* Tweaks to Gnu automake/autoconf system.
*
:CONT1\r
\r
REM Check for the existance of the executable\r
-IF NOT EXIST %FG_ROOT%/BIN/FG.EXE GOTO ERROR1\r
+IF NOT EXIST %FG_ROOT%\BIN\FG.EXE GOTO ERROR1\r
\r
REM Now that FG_ROOT has been set, run the program\r
ECHO FG_ROOT = %FG_ROOT%\r
-%FG_ROOT%/BIN/FG.EXE\r
+%FG_ROOT%\BIN\FG.EXE\r
\r
GOTO END\r
\r
:ERROR1\r
-ECHO Cannot find %FG_ROOT%/BIN/FG.EXE\r
+ECHO Cannot find %FG_ROOT%\BIN\FG.EXE\r
GOTO END\r
\r
:END\r
#include <Include/fg_constants.h>
+#include <Debug/fg_debug.h>
#include <Flight/flight.h>
#include <Math/mat3.h>
#include <Math/polar.h>
#include <Math/vector.h>
#include <Scenery/scenery.h>
#include <Time/fg_time.h>
-#include <Main/fg_debug.h>
/* This is a record containing current view parameters */
struct fgVIEW current_view;
/* $Log$
-/* Revision 1.15 1998/02/20 00:16:24 curt
-/* Thursday's tweaks.
+/* Revision 1.16 1998/04/18 04:11:29 curt
+/* Moved fg_debug to it's own library, added zlib support.
/*
+ * Revision 1.15 1998/02/20 00:16:24 curt
+ * Thursday's tweaks.
+ *
* Revision 1.14 1998/02/09 15:07:50 curt
* Minor tweaks.
*