From 6654ae5f491ae65668b0dc7e2330c02d08d8df04 Mon Sep 17 00:00:00 2001 From: curt Date: Fri, 7 Jul 2000 17:27:53 +0000 Subject: [PATCH] Initial revision. --- src/Main/globals.cxx | 43 +++++++++++++++++++++++++++++ src/Main/globals.hxx | 66 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 109 insertions(+) create mode 100644 src/Main/globals.cxx create mode 100644 src/Main/globals.hxx diff --git a/src/Main/globals.cxx b/src/Main/globals.cxx new file mode 100644 index 000000000..e1536925a --- /dev/null +++ b/src/Main/globals.cxx @@ -0,0 +1,43 @@ +// globals.cxx -- Global state that needs to be shared among the sim modules +// +// Written by Curtis Olson, started July 2000. +// +// Copyright (C) 2000 Curtis L. Olson - curt@flightgear.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$ + + +#include "globals.hxx" + + +// global global :-) +FGGlobals *globals; + + +// Constructor +FGGlobals::FGGlobals() : + freeze( false ), + warp( 0 ), + warp_delta( 0 ) +{ +} + + +// Destructor +FGGlobals::~FGGlobals() { +} + diff --git a/src/Main/globals.hxx b/src/Main/globals.hxx new file mode 100644 index 000000000..5521a2bf6 --- /dev/null +++ b/src/Main/globals.hxx @@ -0,0 +1,66 @@ +// globals.hxx -- Global state that needs to be shared among the sim modules +// +// Written by Curtis Olson, started July 2000. +// +// Copyright (C) 2000 Curtis L. Olson - curt@flightgear.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$ + + +#ifndef _GLOBALS_HXX +#define _GLOBALS_HXX + + +class FGGlobals { + +private: + + // Freeze sim + bool freeze; + + // An offset in seconds from the true time. Allows us to adjust + // the effective time of day. + long int warp; + + // How much to change the value of warp each iteration. Allows us + // to make time progress faster than normal (or even run in reverse.) + long int warp_delta; + +public: + + FGGlobals(); + ~FGGlobals(); + + inline bool get_frozen() const { return freeze; } + inline void toggle_frozen() { freeze = !freeze; } + + inline long int get_warp() const { return warp; } + inline void set_warp( long int w ) { warp = w; } + inline void inc_warp( long int w ) { warp += w; } + + inline long int get_warp_delta() const { return warp_delta; } + inline void set_warp_delta( long int d ) { warp_delta = d; } + inline void inc_warp_delta( long int d ) { warp_delta += d; } +}; + + +extern FGGlobals *globals; + + +#endif // _GLOBALS_HXX + + -- 2.39.5