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.
76 lines
1.8 KiB
C++
76 lines
1.8 KiB
C++
// native_ctrls.hxx -- FGFS "Native" controls I/O class
|
|
//
|
|
// Written by Curtis Olson, started July 2001.
|
|
//
|
|
// Copyright (C) 2001 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 _FG_NATIVE_CTRLS_HXX
|
|
#define _FG_NATIVE_CTRLS_HXX
|
|
|
|
|
|
#include <simgear/compiler.h>
|
|
|
|
#include STL_STRING
|
|
|
|
#include <Controls/controls.hxx>
|
|
|
|
#include "protocol.hxx"
|
|
#include "net_ctrls.hxx"
|
|
|
|
SG_USING_STD(string);
|
|
|
|
|
|
class FGNativeCtrls : public FGProtocol {
|
|
|
|
FGNetCtrls net_ctrls;
|
|
FGControls ctrls;
|
|
|
|
int length;
|
|
|
|
public:
|
|
|
|
FGNativeCtrls();
|
|
~FGNativeCtrls();
|
|
|
|
// open hailing frequencies
|
|
bool open();
|
|
|
|
// process work for this port
|
|
bool process();
|
|
|
|
// close the channel
|
|
bool close();
|
|
};
|
|
|
|
|
|
// Helper functions which may be useful outside this class
|
|
|
|
// Populate the FGNetCtrls structure from the property tree.
|
|
void FGProps2NetCtrls( FGNetCtrls *net, bool honor_freezes,
|
|
bool net_byte_order );
|
|
|
|
// Update the property tree from the FGNetCtrls structure.
|
|
void FGNetCtrls2Props( FGNetCtrls *net, bool honor_freezes,
|
|
bool net_byte_order );
|
|
|
|
|
|
#endif // _FG_NATIVE_CTRLS_HXX
|
|
|
|
|