1
0
Fork 0
Commit graph

463 commits

Author SHA1 Message Date
James Turner
50eb95dcad Create TimeManager subsystem, and collect the time related code out of main.cxx and fg_init.cxx into it.
Remove the unfortunately named 'tmp.[cxx|hxx]', pushing the remaining code in FGLight.
2010-08-01 20:33:11 +01:00
James Turner
d1852430bf Make various implicit includes (via PLIB) explicit. 2010-07-28 10:25:42 +01:00
James Turner
d279c394d7 Clean fg_init.hxx 2010-07-01 22:43:28 +01:00
James Turner
01e0156b5d Remove current_aircraft global, fgAIRCRAFT struct, and dead code for reading aircraft dirs. 2010-07-01 22:33:51 +01:00
James Turner
c04d97b259 LFSGlass was accidently ommitted from the cur_fdm_state removal process. 2010-06-26 18:44:58 +01:00
James Turner
85be9be1e0 Initial work on FDM shell, and removal of cur_fdm_state 2010-06-26 10:31:22 +01:00
Tim Moore
ca346ebc9c Merge branch 'torsten/js64' into next 2010-03-16 15:13:32 +01:00
torsten
32f8d1a110 Compile again for MSVC 2010-03-16 15:13:24 +01:00
Tim Moore
c1e1e2f541 Merge branch 'torsten/js64' into next 2010-03-11 09:01:02 +01:00
torsten
91f0059c89 David Fries:
64bit fixes
2010-03-11 08:59:52 +01:00
ehofman
d0f6f748ed Improve handling of type DOUBLE in generic i/o protocol. 2010-02-10 15:02:49 +01:00
ehofman
6072e3d969 reorganize the code a bit to prevent an infinite loop in ascii mode 2010-02-10 15:02:42 +01:00
fredb
00e9ad3055 MINGW patch from Benoît Laniel 2010-01-25 17:12:04 +01:00
torsten
949981a6d7 only complain about binary record length mismatch if mode is binary. 2009-09-18 10:38:34 +02:00
curt
606f9173b2 Avoid strtof() for portability reasons. 2009-09-12 15:47:52 +02:00
curt
bf423ef0ca Handle "double" type fields correctly for ascii input data. Previously double
data was being down-cast to float and the loss of precision impacted data types like lon/lat positions dramatically, preventing smooth replay of data.
2009-09-12 15:47:52 +02:00
ehofman
1fa48722b4 One last update; remember whether input or output is requested. This will make sure FlightGear isn't communicating in both directions all the time. 2009-09-09 08:56:31 +02:00
ehofman
aeefd12522 Don't forget to clear the previous configuration 2009-09-09 08:56:31 +02:00
ehofman
ea4a3ee1df Make FGIO a proper subsystem and add a reinit method for the generic protocol. This should allow for easy runtime reloading of the configuration file. 2009-09-09 08:56:31 +02:00
Tim Moore
be4b46b894 change back unsigned byte count to signed (multiplaymgr)
Also, small fixes to generic protocol from AndersG
2009-08-27 00:12:44 +02:00
Tim Moore
62620177aa Fix transmission of float and double values in generic protocol
gcc -Wall -Werror turned up some problems with the type-punning of pointers
used to write the message buffer; it turns out that truncated ints were being
written to the message buffer when values needed to be swapped to network byte
order.
2009-08-24 18:06:06 +02:00
torsten
cd89ce7d0a warning fixes 2009-08-23 21:43:10 +02:00
torsten
5a04b82dfc Tom P: magnetic-variation isn't boolean. 2009-08-23 21:43:09 +02:00
curt
0590333e53 Fix a bug that is screwing me! 2009-08-23 21:43:08 +02:00
Tim Moore
7d6c567fde Refer to property types using props:: namespace
BOOL, FLOAT etc. conflict with typedefs in windows.h.
2009-07-17 14:54:12 +02:00
timoore
4cc3084256 SGPropertyNode::Type moves to simgear::props namespace 2009-07-16 12:10:47 +02:00
ehofman
a4a593745e Hopefuly fix what might be a 64-bit OS problem 2009-07-12 00:55:33 +02:00
ehofman
f5ab3756a1 although the official name is 'bool' also support 'boolean' for backward compatibility. 2009-07-02 08:59:16 +02:00
ehofman
38d538cdb8 Add the statement about the wrong received-buffer size again which might be a useful debugging tool. 2009-07-02 08:59:16 +02:00
ehofman
0dfd7b8024 If more than one packet has arrived in the mean time, process them all. 2009-07-02 08:59:16 +02:00
fredb
00d7c1865f Suppress warnings 2009-07-02 08:59:15 +02:00
ehofman
a9c47a7b78 split up binary and ascii message handling functions, mostly for readability 2009-07-02 08:59:15 +02:00
ehofman
36f8519973 * Add proper support for float and double values
* properly honour network byte order on little-endian and big-endian systems
* various cleanups and bug-fixes
2009-06-23 10:54:09 +02:00
ehofman
30e925bb38 Anders Gidenstam:
Add support for generic binary input.
This patch has been sitting in my source tree since 2007.
2009-06-23 10:54:09 +02:00
curt
12c5a631f6 Better handling of glide slope and in range flags when slaved to external
GPS.
2009-04-15 23:19:30 +02:00
curt
f3b750fbc9 Read remote gps messages back and drive panel CDI and to/from flag. 2009-03-05 10:52:02 +01:00
curt
67c4eec677 Add analog output support to the ATC hardware interface. 2009-02-04 23:51:22 +01:00
durk
7ad2bee1a8 Brian Schack: Patch to the atlas protocol that allows nav1 &2 frequencies
and radials, as well the selected ADF frequency to be transmitted to Atlas
DT: Two minor modifications to the adf part to make it work, and some
testing.
2009-02-02 00:58:00 +01:00
curt
c76aca9a3d Add an additional option. Work around an inconsistency in hardware design. 2009-01-21 09:55:33 +01:00
curt
d95f541528 Add a variant of the ARNAV (AV400) protocol to drive a Garmin 400/430/530
series GPS from FlightGear.
2009-01-21 09:55:33 +01:00
Tim Moore
e108eddc22 FGMultiplayMgr: use binary search to find a property by id 2009-01-15 13:05:23 +01:00
curt
9ae7191590 Brian Schack:
Right now, atlas.cxx uses the following code, in
FGAtlas::gen_message(), to retrieve the ADF frequency:

static SGPropertyNode *adf_freq =
    fgGetNode("/instrumentation/kr-87/outputs/selected-khz", true);

I think it should be changed to:

static SGPropertyNode *adf_freq =
    fgGetNode("/instrumentation/adf/frequencies/selected-khz", true);
2008-12-01 13:58:04 +00:00
mfranz
292d1d52cf compile 2008-11-19 01:09:29 +00:00
mfranz
4516233b7b fix typo in warning message 2008-11-11 18:26:50 +00:00
curt
9b8aa717f5 Not finding a depricated config file shouldn't be a fatal error. 2008-10-30 18:33:28 +00:00
fredb
9ebb9128c8 MINGW patch by Csaba Halasz, reworked by me to avoid breaking MSVC or Cygwin build 2008-09-28 08:27:32 +00:00
timoore
0d0bd58268 Allow generic file protocol to terminate fg after a number of repetitions. 2008-08-07 22:24:47 +00:00
ehofman
14885374de header cleanups 2008-07-31 12:04:32 +00:00
ehofman
429f2530de James Turner:
* experimental clean-up / reduction on two of the FG headers:
   (I'm going to await feedback on the developers list before doing more of
    these, to avoiding going over files multiple times, but in principle it
    seems pretty straightforward.)

 * final fixes for SG_USING_STD removal
2008-07-29 08:27:48 +00:00
ehofman
667e64e1eb - remove the SG_GLxxxx_H #defines, since OSG provides its own versions
- this exposed a bizarre issue on Mac where dragging in <AGL/agl.h> in
   extensions.hxx was pulling in all of Carbon to the global namespace
   - very scary. As a result, I now need to explicitly include CoreFoundation
   in fg_init.cxx.
 - change SG_USING_STD(x) to using std::x
2008-07-27 16:25:13 +00:00
fredb
3db0cf1659 Remove unneeded inclusions of windows.h, GL.h and GLU.H 2008-07-27 15:18:34 +00:00
ehofman
d9bfd5a425 This should apply, and everything should build cleanly, in isolation from the
SimGear change. It changes all the SG_xxxx to be the 'real' includes, and gets
rid of many #ifdef SG_HAVE_STD_INCLUDES. As an added bonus, rather than
replacing 'SG_USING_NAMESPACE(std)' with 'using namespace std', I just fixed
the small number of places to use std:: explicitly. So we're no longer polluting
the global namespace with the entire contents of std, in many cases.

There is one more 'mechanical' change to come - getting rid of SG_USING_STD(X),
but I want to keep that separate from everything else. (There's another
mechnical change, replacing <math.h> with <cmath> and so on *everywhere*, but
one step at a time)
2008-07-25 18:38:29 +00:00
mfranz
0317d992b9 cosmetic changes *only*:
- fix mixed tab/space indentation (replace all tabs by 8 spaces)
- remove trailing spaces
- rename one local variable (ttt -> pwd)
2008-06-11 18:02:19 +00:00
mfranz
5cb6e43767 Anders GIDENSTAM: catch all exceptions to avoid aborting fgfs after
commands like "ls .."
2008-06-11 17:16:50 +00:00
timoore
a251fd35cb Include <iostream> and using declarations as needed.
SimGear no longer includes iostream and avoids using declarations in
header files, so various fixups are needed.
2008-06-02 21:07:35 +00:00
timoore
fd492a297a model paging patch from Till Busch
From Till:
i started the project at the end of february with a simple idea: move all
3d-model loading to the DatabasePager-thread. my first attempts looked
promising, though they were a little too optimistic (or naive?). the patch
has evolved a lot since.

currently it does the following things:
1. revive SGModelLib, move functions for xml-model-loading there

2. replace all calls to sgLoad3dModel with calls to either
SGModelLib::loadModel() or SGModelLib::loadPagedModel()
almost all models will be loaded by the DatabasePager. the few exceptions are:
your own plane, shared models in scenery, random objects, AIBallistic models.

3. simplify mode-loading functions (avoid passing around fg_root)

4. avoid supurious MatrixTransform nodes in loaded models

5. fix some memory leaks
2008-03-22 09:31:06 +00:00
durk
ecc6548d71 cygwin related fixes, and some minor future release related maintenance
work.
2008-02-04 20:03:52 +00:00
curt
98d940a790 Packet should be formated in network byte order. 2008-01-21 19:11:32 +00:00
fredb
63f471e394 Josh Babcock:
I got tired of watching all those http requests scroll over the screen, so I made them SG_LOG( SG_IO, SG_INFO, );

FB: adapt a bit
2008-01-12 17:13:57 +00:00
timoore
d5ba35dddb Remove references to SceneView and CameraView 2007-12-22 23:26:56 +00:00
mfranz
e69b633060 don't overwrite rudder position with nose wheel position 2007-11-07 17:41:31 +00:00
mfranz
d79ae7a819 sorting nodes -> don't use shared pointer 2007-11-03 17:04:04 +00:00
mfranz
f8d792e82d sort entries alphabetically (consistent with property browser) 2007-10-27 21:28:56 +00:00
mfranz
b303db13e3 re-active commented out "delete". Doesn't seem to crash anymore. 2007-10-27 19:13:42 +00:00
mfranz
306b818490 generic/output:
- support optional <preamble> and <postamble> which are written right
  after opening and before closing respectively. This can be used for a header
  line or an XML header.
- unescape <preamble>, <postamble>, <format>, <line_separator>, <var_separator>
  so that \t, \n, \r, \f, \v, \xnn, \nnn can be used directly (\a and \b are
  ignored; use \\ for the backslash) The long names ("carriagereturn") are still
  supported for <var_separator>, but one can just use \r, or \r\n too.
- don't abort when a chunk doesn't have a <node>. This is useful for adding
  constant chunks which consist only of a <format>, such as XML tags.
2007-07-29 13:58:58 +00:00
frohlich
7443b8b5e8 Modified Files:
configure.ac src/Main/Makefile.am src/Main/fg_os.cxx
	src/Main/fg_os.hxx src/Main/fg_os_sdl.cxx src/Main/main.cxx
	src/Main/renderer.cxx src/Main/renderer.hxx
	src/Network/jpg-httpd.cxx
Added Files:
	src/Main/FGManipulator.cxx src/Main/FGManipulator.hxx
	src/Main/fg_os_osgviewer.cxx:
	Tim Moore: Make use of osgViewer.
2007-05-21 17:50:02 +00:00
mfranz
b11196998e Csaba HALASZ: fix dme property name 2007-03-01 17:39:45 +00:00
mfranz
b6f98f91b9 remove "show" command from help screen (command can be removed later) 2007-02-20 21:12:56 +00:00
mfranz
6c95d65afa fix set command: allow strings to contain spaces 2007-02-19 20:52:55 +00:00
fredb
9ae7377c95 Fix the jpg http server 2007-02-10 16:32:21 +00:00
fredb
0bd6fa4bc0 Maik Justus : if the build is configured without FG_JPEG_SERVER, the compilation fails. 2006-12-25 19:38:34 +00:00
fredb
240feb6961 Use SG_LOG instead of printf 2006-12-17 18:40:17 +00:00
fredb
2422747bcc Port jpg-httpd to OSG 2006-12-16 17:44:46 +00:00
fredb
f65abb8a61 Win32 compilation fix 2006-11-02 17:41:53 +00:00
fredb
9827a79987 Leidson Campos A. Ferreira improved the jpeg http server 2006-10-24 17:51:56 +00:00
frohlich
8a67faaf5a Modified Files:
src/AIModel/AIMultiplayer.cxx src/MultiPlayer/mpmessages.hxx
	src/MultiPlayer/multiplaymgr.cxx
	src/MultiPlayer/multiplaymgr.hxx src/Network/multiplay.cxx
	Apply Stuart Buchanan's multiplayer property/chat patch.
2006-10-10 05:17:07 +00:00
curt
03bba2a792 Clear up a line terminator issue between windows/unix. 2006-08-26 14:24:14 +00:00
curt
e1edf2366a Tested and working under Linux. I have no way to test this under windows.
If there is a windows problem, look very carefully at the line termination
with a serial port monitor.  It should be \r\n (CR-LF), not \n, not \r\r\n
or any other possible variant.
2006-08-22 00:58:25 +00:00
curt
2d6f291d4f Add an initial implementation of the Garmin 400 series "Aviation In" data
format.  I have a Garmin 295 to test with, but so far I haven't been able
to make this work (code should compile cleanly though.)  I don't know if
I've made a mistake in the protocol or if my 295 just doesn't support this.
More work on this to come.
2006-08-20 23:37:13 +00:00
mfranz
80bada55cd remove redundant vector::clear(). A just created vector *is* clear. 2006-07-05 09:39:46 +00:00
frohlich
c2d8dcc18b More use of SGGeo[dc]. 2006-06-15 08:29:43 +00:00
mfranz
e48967cb1d fix another crash on exit by finally converting the rest of unguarded
SGPropertyNode to guarded ones. This is also done for JSBSim/JSBSim.hxx,
for which JSB had given explicit permission a while ago. I postponed that
back then, but now is the time.
2006-06-11 10:21:10 +00:00
ehofman
f531203951 Add binary output support for the generic protocol. 2006-04-29 12:17:30 +00:00
frohlich
9e61446d12 Apply multiplayer crash on exit fix from Pigeon 2006-04-23 09:03:21 +00:00
curt
00efc0960f Add fuel pressure. 2006-03-21 18:51:57 +00:00
mfranz
e8c2b8c9f4 --warnings 2006-03-09 21:41:51 +00:00
curt
8676df6856 LFS Glass cockpit interface (allows development independent of the opengc
interface which is somewhat stagnant.)
2006-03-06 18:49:57 +00:00
mfranz
c9813d1b5d new FSF address 2006-02-21 01:16:04 +00:00
ehofman
5fe860750e Mathias Fröhlich:
This patch makes use of the vectors now available in simgear with that past
patch. And using that it simplyfies the carrier code somehow.

- Small additional factory's to the quaternion code are done in the simgear
  part. Also more explicit unit names in the factory functions.
- The flightgear part makes use of them and simplyfies some computations
  especially in the carrier code.
- The data part fixes the coordinate frames I used for the park positions in
  the carrier to match the usual ones. I believed that I had done so, but it
  was definitly different. Also there are more parking positions avaliable now.
2006-02-19 17:28:31 +00:00
fredb
36e4045810 Add missing include files needed by the new math code under windows 2006-02-18 13:58:09 +00:00
ehofman
da6568ad50 Mathias Fröhlich:
The new multiplayer patch with an extension to transmit some properties with
the base package. The properties are transmitted in a way that will not
immediately brake the packet format if we need new ones.
Even if the maxmimum number needs to be limited somehow, that format might
work well until we have an improoved packet format which is even more compact
and that does not require to retransmit redundant information with each
packet.

That part is relatively fresh and based on that what Oliver provides on his
multiplayer server web page.

The properties are transferred to the client and I have modified the seahawks
rudder animation property to use a relative property path to verify that it
works appart from the fact that you can see it changing in the property
browser.

The movement is still a bit jerky, but that can be fixed/tuned later without
again braking the packet format.
2006-02-17 09:43:33 +00:00
ehofman
5bd2ef1edb Vivian Meazza:
This patch is a combined effort by Gregor Richards, Oliver Schroeder, and
Vivian Meazza (and code cleanups and improvements by Erik Hofman). It corrects
the bug in which a Multiplayer model responds to local inputs, and the view
number bug which caused certain aircraft to appear as cockpit only models. It
passes remote properties over the net, and all major control surfaces and gear
are now animated correctly, providing that the local ~model.xml file contains
no leading "/" in the <property></property> data entries. MP objects
are now extrapolated using 1st and 2nd derivatives to make their movement
appear more smooth. The sim is now halted while a new client joins the net.

Known problems with MP are non-display of the remote client under certain
circumstances of starting/resetting, and a freeze on starting. These bugs are
long standing, and are not addressed by this patch.

Special thanks must go to AJ Macleod for his patient testing of this patch over many evenings.

We have also moved part of multiplayer into AIModels as part of the ongoing
development of MP.
2006-02-09 12:29:05 +00:00
ehofman
619226e9d0 Integrate a large part of John Wojnaroski's 747 cockpit project.
Erik Hofman:
This patch contains an update to net_ctrls.hxx that adds an extra 100 bytes
(or an equivalent of 25 (u)int32_t types) of reserved space. This could be
used to make the protocol forward and backward compatibel within a certain
scope. Be sure to read the instructions at the begining of the header file
when addinf new variables.
2006-01-20 17:19:01 +00:00
curt
e475a50ead Expose the "play-audio-command" through the props/telnet interface. 2006-01-09 02:23:50 +00:00
curt
ff0d55fd4a Update 'magic' for more consistant cross platform padding. 2005-11-15 19:15:13 +00:00
curt
276f3faf5a White space fix. 2005-11-05 20:03:36 +00:00
ehofman
029dda3297 In the process of changing, adding and removing files the last few years
there was the situation where four directories contained jst two files,
of which three directories were aircraft related, and one directory contained
test code from Curt that might be better of in SimGear anyhow.

This is just a patch to move a bunch of files to new locations. In case of
local changes to any of them you can do the following:

move replay.[ch]xx from src/Replay to src/Aircraft
move control.[ch]xx from src/Control to src/Aircraft
move ssgEntityArray.[ch]xx from src/Objects to simgear/screen

In addition it has been decided only to use .[ch]xx files in all directories
unless it's contained within an FDM specific directory, in which case the
author is free to do whatever (s)he wants.

In this repspect the following files have been renamed in src/Multiplayer:

tiny_xdr.[ch]pp has become tiny_xdr.[ch]xx
multiplaymgr.[ch]pp has become multiplaymgr.[ch]xx
2005-11-01 13:41:49 +00:00
ehofman
eed55b48b7 Oliver Schroeder:
This is mainly an intermediate patch. I've restructured the network code.
2005-10-30 18:01:51 +00:00
ehofman
62a359cc4a Alex Romosan:
* Use "const string&" rather than "string" in function calls when appropriate.
* Use "const Point3D&" instead of "Pint3D" in function calls when appropriate.
* Improved course calculation in calc_gc_course_dist()
* Safer thread handling code.

Vassilii Khachaturov:

Dont use "const Point3D&" for return types unless you're absolutely sure.

Erik Hofman:

* Use SGD_(2)PI(_[24]) as defined in simgear/constants.h rather than
  calculating it by hand every time.
2005-10-25 13:49:55 +00:00
ehofman
12fc19080b Ima Sudonim:
CygWin/gcc-3.4.4 updates.

I replaced my cygwin compiler with 3.4.4, did a make clean of plib, simgear,
and flightgear, then did a make install of all three. With the included changes,
everything builds fine, and runs fine.
2005-10-22 11:22:05 +00:00