From 14a8533f636b7d4ad5d95cff30e4d46b42eb57ca Mon Sep 17 00:00:00 2001 From: curt Date: Thu, 17 Jun 1999 20:07:19 +0000 Subject: [PATCH] Initial revision --- COPYING | 339 ---------- INSTALL | 183 ----- Makefile.am | 103 --- NEWS | 32 - README.Linux | 57 +- Thanks | 2 +- config.guess | 0 config.sub | 0 configure.in | 357 ---------- install-sh | 250 ------- irix-hack.pl | 16 - missing | 134 ---- mkinstalldirs | 40 -- src/Airports/simple.cxx | 30 +- src/Astro/Makefile.am | 19 - src/Astro/celestialBody.cxx | 176 ----- src/Astro/celestialBody.hxx | 195 ------ src/Astro/jupiter.cxx | 65 -- src/Astro/jupiter.hxx | 38 -- src/Astro/mars.cxx | 59 -- src/Astro/mars.hxx | 38 -- src/Astro/mercury.cxx | 61 -- src/Astro/mercury.hxx | 38 -- src/Astro/moon.cxx | 401 ----------- src/Astro/moon.hxx | 56 -- src/Astro/neptune.cxx | 59 -- src/Astro/neptune.hxx | 38 -- src/Astro/pluto.hxx | 36 - src/Astro/saturn.cxx | 69 -- src/Astro/saturn.hxx | 45 -- src/Astro/sky.cxx | 367 ---------- src/Astro/sky.hxx | 45 -- src/Astro/solarsystem.cxx | 215 ------ src/Astro/solarsystem.hxx | 91 --- src/Astro/star.cxx | 271 -------- src/Astro/star.hxx | 98 --- src/Astro/stars.cxx | 267 -------- src/Astro/stars.hxx | 47 -- src/Astro/uranus.cxx | 60 -- src/Astro/uranus.hxx | 38 -- src/Astro/venus.cxx | 60 -- src/Astro/venus.hxx | 38 -- src/Cockpit/hud.cxx | 2 +- src/Cockpit/hud.hxx | 8 +- src/FDM/External/Makefile.am | 5 - src/FDM/External/external.cxx | 42 -- src/FDM/External/external.hxx | 83 --- src/FDM/{JSBsim.cxx => JSBSim.cxx} | 2 +- src/FDM/{JSBsim.hxx => JSBSim.hxx} | 0 src/FDM/{JSBsim => JSBSim}/FGAircraft.cpp | 168 +++-- src/FDM/JSBSim/FGAircraft.h | 509 ++++++++++++++ src/FDM/{JSBsim => JSBSim}/FGAtmosphere.cpp | 11 +- src/FDM/{JSBsim => JSBSim}/FGAtmosphere.h | 16 +- src/FDM/{JSBsim => JSBSim}/FGAuxiliary.cpp | 0 src/FDM/{JSBsim => JSBSim}/FGAuxiliary.h | 0 src/FDM/{JSBsim => JSBSim}/FGCoefficient.cpp | 181 ++--- src/FDM/{JSBsim => JSBSim}/FGCoefficient.h | 142 +++- src/FDM/{JSBsim => JSBSim}/FGControls.cpp | 7 +- src/FDM/{JSBsim => JSBSim}/FGControls.h | 7 +- src/FDM/{JSBsim => JSBSim}/FGDefs.h | 0 src/FDM/{JSBsim => JSBSim}/FGEngine.cpp | 0 src/FDM/{JSBsim => JSBSim}/FGEngine.h | 0 src/FDM/{JSBsim => JSBSim}/FGFCS.cpp | 0 src/FDM/{JSBsim => JSBSim}/FGFCS.h | 2 +- src/FDM/{JSBsim => JSBSim}/FGFDMExec.cpp | 2 +- src/FDM/{JSBsim => JSBSim}/FGFDMExec.h | 4 +- src/FDM/{JSBsim => JSBSim}/FGMain.cpp | 12 +- src/FDM/{JSBsim => JSBSim}/FGMatrix.cpp | 60 +- src/FDM/{JSBsim => JSBSim}/FGMatrix.h | 0 src/FDM/{JSBsim => JSBSim}/FGModel.cpp | 0 src/FDM/{JSBsim => JSBSim}/FGModel.h | 0 src/FDM/{JSBsim => JSBSim}/FGOutput.cpp | 6 +- src/FDM/{JSBsim => JSBSim}/FGOutput.h | 0 src/FDM/{JSBsim => JSBSim}/FGPosition.cpp | 0 src/FDM/{JSBsim => JSBSim}/FGPosition.h | 0 src/FDM/{JSBsim => JSBSim}/FGRotation.cpp | 0 src/FDM/{JSBsim => JSBSim}/FGRotation.h | 0 src/FDM/{JSBsim => JSBSim}/FGState.cpp | 2 +- src/FDM/{JSBsim => JSBSim}/FGState.h | 0 src/FDM/{JSBsim => JSBSim}/FGTank.cpp | 0 src/FDM/{JSBsim => JSBSim}/FGTank.h | 0 src/FDM/{JSBsim => JSBSim}/FGTranslation.cpp | 0 src/FDM/{JSBsim => JSBSim}/FGTranslation.h | 0 src/FDM/{JSBsim => JSBSim}/FGUtility.cpp | 10 +- src/FDM/{JSBsim => JSBSim}/FGUtility.h | 2 +- src/FDM/{JSBsim => JSBSim}/Makefile.am | 0 src/FDM/JSBsim/FGAircraft.h | 206 ------ src/FDM/LaRCsim/c172_aero.c | 234 +++---- src/FDM/LaRCsim/c172_engine.c | 7 +- src/FDM/LaRCsim/c172_gear.c | 53 +- src/FDM/LaRCsim/c172_init.c | 2 +- src/FDM/LaRCsim/c172_main.c | 664 +++++-------------- src/FDM/LaRCsim/cherokee_gear.c | 5 +- src/FDM/LaRCsim/default_model_routines.c | 5 +- src/FDM/LaRCsim/ls_accel.c | 5 +- src/FDM/LaRCsim/ls_aux.c | 5 +- src/FDM/LaRCsim/ls_cockpit.h | 3 + src/FDM/LaRCsim/ls_geodesy.c | 5 +- src/FDM/LaRCsim/ls_gravity.c | 5 +- src/FDM/LaRCsim/ls_init.c | 5 +- src/FDM/LaRCsim/ls_interface.c | 3 + src/FDM/LaRCsim/ls_interface.h | 5 +- src/FDM/LaRCsim/ls_matrix.c | 5 +- src/FDM/LaRCsim/ls_matrix.h | 5 +- src/FDM/LaRCsim/ls_model.c | 5 +- src/FDM/LaRCsim/ls_sim_control.h | 5 +- src/FDM/LaRCsim/ls_step.c | 5 +- src/FDM/LaRCsim/ls_sym.h | 5 +- src/FDM/LaRCsim/ls_trim.c | 5 +- src/FDM/LaRCsim/navion_gear.c | 5 +- src/FDM/Slew/Makefile.am | 5 - src/FDM/Slew/slew.cxx | 83 --- src/FDM/Slew/slew.hxx | 42 -- src/GUI/gui.cxx | 6 +- src/Include/compiler.h | 33 +- src/Include/config.h.in | 197 ------ src/Include/fg_typedefs.h | 3 + src/Main/options.cxx | 10 +- src/Main/runfgfs.bat.in | 0 src/Main/splash.cxx | 4 - src/Makefile.am | 15 - src/Objects/materialmgr.cxx | 8 +- src/Objects/obj.cxx | 14 +- 123 files changed, 1403 insertions(+), 6085 deletions(-) delete mode 100644 COPYING delete mode 100644 INSTALL delete mode 100644 Makefile.am mode change 100755 => 100644 config.guess mode change 100755 => 100644 config.sub delete mode 100644 configure.in delete mode 100755 install-sh delete mode 100755 irix-hack.pl delete mode 100755 missing delete mode 100755 mkinstalldirs delete mode 100644 src/Astro/Makefile.am delete mode 100644 src/Astro/celestialBody.cxx delete mode 100644 src/Astro/celestialBody.hxx delete mode 100644 src/Astro/jupiter.cxx delete mode 100644 src/Astro/jupiter.hxx delete mode 100644 src/Astro/mars.cxx delete mode 100644 src/Astro/mars.hxx delete mode 100644 src/Astro/mercury.cxx delete mode 100644 src/Astro/mercury.hxx delete mode 100644 src/Astro/moon.cxx delete mode 100644 src/Astro/moon.hxx delete mode 100644 src/Astro/neptune.cxx delete mode 100644 src/Astro/neptune.hxx delete mode 100644 src/Astro/pluto.hxx delete mode 100644 src/Astro/saturn.cxx delete mode 100644 src/Astro/saturn.hxx delete mode 100644 src/Astro/sky.cxx delete mode 100644 src/Astro/sky.hxx delete mode 100644 src/Astro/solarsystem.cxx delete mode 100644 src/Astro/solarsystem.hxx delete mode 100644 src/Astro/star.cxx delete mode 100644 src/Astro/star.hxx delete mode 100644 src/Astro/stars.cxx delete mode 100644 src/Astro/stars.hxx delete mode 100644 src/Astro/uranus.cxx delete mode 100644 src/Astro/uranus.hxx delete mode 100644 src/Astro/venus.cxx delete mode 100644 src/Astro/venus.hxx delete mode 100644 src/FDM/External/Makefile.am delete mode 100644 src/FDM/External/external.cxx delete mode 100644 src/FDM/External/external.hxx rename src/FDM/{JSBsim.cxx => JSBSim.cxx} (99%) rename src/FDM/{JSBsim.hxx => JSBSim.hxx} (100%) rename src/FDM/{JSBsim => JSBSim}/FGAircraft.cpp (73%) create mode 100644 src/FDM/JSBSim/FGAircraft.h rename src/FDM/{JSBsim => JSBSim}/FGAtmosphere.cpp (92%) rename src/FDM/{JSBsim => JSBSim}/FGAtmosphere.h (79%) rename src/FDM/{JSBsim => JSBSim}/FGAuxiliary.cpp (100%) rename src/FDM/{JSBsim => JSBSim}/FGAuxiliary.h (100%) rename src/FDM/{JSBsim => JSBSim}/FGCoefficient.cpp (77%) rename src/FDM/{JSBsim => JSBSim}/FGCoefficient.h (58%) rename src/FDM/{JSBsim => JSBSim}/FGControls.cpp (94%) rename src/FDM/{JSBsim => JSBSim}/FGControls.h (98%) rename src/FDM/{JSBsim => JSBSim}/FGDefs.h (100%) rename src/FDM/{JSBsim => JSBSim}/FGEngine.cpp (100%) rename src/FDM/{JSBsim => JSBSim}/FGEngine.h (100%) rename src/FDM/{JSBsim => JSBSim}/FGFCS.cpp (100%) rename src/FDM/{JSBsim => JSBSim}/FGFCS.h (99%) rename src/FDM/{JSBsim => JSBSim}/FGFDMExec.cpp (99%) rename src/FDM/{JSBsim => JSBSim}/FGFDMExec.h (98%) rename src/FDM/{JSBsim => JSBSim}/FGMain.cpp (75%) rename src/FDM/{JSBsim => JSBSim}/FGMatrix.cpp (84%) rename src/FDM/{JSBsim => JSBSim}/FGMatrix.h (100%) rename src/FDM/{JSBsim => JSBSim}/FGModel.cpp (100%) rename src/FDM/{JSBsim => JSBSim}/FGModel.h (100%) rename src/FDM/{JSBsim => JSBSim}/FGOutput.cpp (99%) rename src/FDM/{JSBsim => JSBSim}/FGOutput.h (100%) rename src/FDM/{JSBsim => JSBSim}/FGPosition.cpp (100%) rename src/FDM/{JSBsim => JSBSim}/FGPosition.h (100%) rename src/FDM/{JSBsim => JSBSim}/FGRotation.cpp (100%) rename src/FDM/{JSBsim => JSBSim}/FGRotation.h (100%) rename src/FDM/{JSBsim => JSBSim}/FGState.cpp (99%) rename src/FDM/{JSBsim => JSBSim}/FGState.h (100%) rename src/FDM/{JSBsim => JSBSim}/FGTank.cpp (100%) rename src/FDM/{JSBsim => JSBSim}/FGTank.h (100%) rename src/FDM/{JSBsim => JSBSim}/FGTranslation.cpp (100%) rename src/FDM/{JSBsim => JSBSim}/FGTranslation.h (100%) rename src/FDM/{JSBsim => JSBSim}/FGUtility.cpp (95%) rename src/FDM/{JSBsim => JSBSim}/FGUtility.h (99%) rename src/FDM/{JSBsim => JSBSim}/Makefile.am (100%) delete mode 100644 src/FDM/JSBsim/FGAircraft.h delete mode 100644 src/FDM/Slew/Makefile.am delete mode 100644 src/FDM/Slew/slew.cxx delete mode 100644 src/FDM/Slew/slew.hxx delete mode 100644 src/Include/config.h.in mode change 100755 => 100644 src/Main/runfgfs.bat.in delete mode 100644 src/Makefile.am diff --git a/COPYING b/COPYING deleted file mode 100644 index a43ea2126..000000000 --- a/COPYING +++ /dev/null @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 675 Mass Ave, Cambridge, MA 02139, USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - Appendix: How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) 19yy - - 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. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19yy name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/INSTALL b/INSTALL deleted file mode 100644 index 50dbe439d..000000000 --- a/INSTALL +++ /dev/null @@ -1,183 +0,0 @@ -Basic Installation -================== - - These are generic installation instructions. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, a file -`config.cache' that saves the results of its tests to speed up -reconfiguring, and a file `config.log' containing compiler output -(useful mainly for debugging `configure'). - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If at some point `config.cache' -contains results you don't want to keep, you may remove or edit it. - - The file `configure.in' is used to create `configure' by a program -called `autoconf'. You only need `configure.in' if you want to change -it or regenerate `configure' using a newer version of `autoconf'. - -The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. If you're - using `csh' on an old version of System V, you might need to type - `sh ./configure' instead to prevent `csh' from trying to execute - `configure' itself. - - Running `configure' takes awhile. While running, it prints some - messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package. - - 4. Type `make install' to install the programs and any data files and - documentation. - - 5. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. You can give `configure' -initial values for variables by setting them in the environment. Using -a Bourne-compatible shell, you can do that on the command line like -this: - CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure - -Or on systems that have the `env' program, you can do it like this: - env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you must use a version of `make' that -supports the `VPATH' variable, such as GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. - - If you have to use a `make' that does not supports the `VPATH' -variable, you have to compile the package for one architecture at a time -in the source code directory. After you have installed the package for -one architecture, use `make distclean' before reconfiguring for another -architecture. - -Installation Names -================== - - By default, `make install' will install the package's files in -`/usr/local/bin', `/usr/local/man', etc. You can specify an -installation prefix other than `/usr/local' by giving `configure' the -option `--prefix=PATH'. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -give `configure' the option `--exec-prefix=PATH', the package will use -PATH as the prefix for installing programs and libraries. -Documentation and other data files will still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=PATH' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - -Optional Features -================= - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - -Specifying the System Type -========================== - - There may be some features `configure' can not figure out -automatically, but needs to determine by the type of host the package -will run on. Usually `configure' can figure that out, but if it prints -a message saying it can not guess the host type, give it the -`--host=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name with three fields: - CPU-COMPANY-SYSTEM - -See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the host type. - - If you are building compiler tools for cross-compiling, you can also -use the `--target=TYPE' option to select the type of system they will -produce code for and the `--build=TYPE' option to select the type of -system on which you are compiling the package. - -Sharing Defaults -================ - - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Operation Controls -================== - - `configure' recognizes the following options to control how it -operates. - -`--cache-file=FILE' - Use and save the results of the tests in FILE instead of - `./config.cache'. Set FILE to `/dev/null' to disable caching, for - debugging `configure'. - -`--help' - Print a summary of the options to `configure', and exit. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`--version' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`configure' also accepts some other, not widely useful, options. - diff --git a/Makefile.am b/Makefile.am deleted file mode 100644 index 8bebcb56e..000000000 --- a/Makefile.am +++ /dev/null @@ -1,103 +0,0 @@ -SUBDIRS = Include Lib Simulator Tools Tests - -EXTRA_DIST = FG-FAQ.v3 README.Unix README.Linux README.MacOS README.Win32 \ - README.Win32-X README.autoconf README.gfc README.gpc README.plib \ - README.running Thanks VERSION acsite.m4 acconfig.h irix-hack.pl - -dist-hook: - tar cf - Hints | (cd $(distdir); tar xvf -) - tar cf - Simulator/FDM/JSBsim/aircraft Simulator/FDM/JSBsim/engine | (cd $(distdir); tar xvf -) - - -########################################################################## -# extra targets to do various things ... -# -# Use "make " -########################################################################## - - -# make the base distribution with textures, sounds and a bit of -# scenery, and all the other associated files - -fgfs-base: fgfs-base-tar fgfs-base-zip - -fgfs-base-tar: - (cd $(HOME); \ - tar czvf fgfs-base-$(VERSION).tar.gz \ - FlightGear/[A-CE-R]* \ - FlightGear/Scenery/w120n30/w111n33 \ - FlightGear/Sounds \ - FlightGear/Textures FlightGear/Thanks \ - FlightGear/[m-r]* ) - -fgfs-base-zip: - (cd $(HOME); \ - zip -r fgfs-base-$(VERSION).zip \ - FlightGear/[A-CE-R]* \ - FlightGear/Scenery/w120n30/w111n33 \ - FlightGear/Sounds \ - FlightGear/Textures FlightGear/Thanks \ - FlightGear/[m-r]* ) - - -# make the documentation distribution - -fgfs-docs: fgfs-docs-tar fgfs-manual-zip - -fgfs-docs-tar: - ( cd .. ; \ - tar czvf fgfs-docs-$(VERSION).tar.gz FlightGear/Docs ) - -# fgfs-docs-zip: -# ( cd .. ; \ -# zip -r fgfs-docs-$(VERSION).zip FlightGear/Docs ) - -fgfs-manual-zip: - ( cd .. ; \ - zip -r fgfs-manual-$(VERSION).zip FlightGear/Docs/InstallGuide ) - -# make the win32-bin distribution - -fgfs-win32-bin: - (cd $(HOME); \ - zip -r fgfs-win32-bin-$(VERSION).zip FlightGear/bin ) - -# make the win32-libs distribution (depricated) -win32-libs: - ( zip -r ../win32-libs-$(VERSION).zip Win32/Makefile \ - Win32/README.glut Win32/cygwinb1.dll Win32/def \ - Win32/*.exp Win32/gen-def-from-errors.pl \ - Win32/glut.dll Win32/glut32.dll Win32/impdef.cpp \ - Win32/impdef.exe Win32/include \ - Win32/install.exe \ - Win32/lib Win32/zlib.lib ) - -# make the MacOS (MWCWP3) devel support archive -macos-devel: - ( cd ..; zip -r MWCWP3_Support.zip FlightGear/MWCWP3_Support ) - -# clean up dependencies -clean-deps: - rm -rf .deps \ - Lib/.deps Simulator/.deps Tools/.deps Test/.deps \ - Lib/*/.deps Simulator/*/.deps Tools/*/.deps \ - Lib/*/*/.deps Simulator/*/*/.deps Tools/*/*/.deps \ - Lib/*/*/*/.deps Lib/*/*/*/*/.deps \ - Tests/.deps - -# clean up after libtool -clean-libs: - rm -rf .libs Lib/.libs Simulator/.libs Tools/.libs \ - Lib/*/.libs Simulator/*/.libs Tools/*/.libs \ - Lib/*/*/.libs Simulator/*/*/.libs Tools/*/*/.libs - rm -f Simulator/*/so_locations Lib/*/so_locations \ - Simulator/*/*/so_locations Lib/*/*/so_locations - -# clean up after winbloze spews random case for file names :-( -clean-winbloze: clean-deps clean-libs - rm -f makefile Include/makefile Lib/makefile Simulator/makefile \ - Tools/makefile \ - Lib/*/makefile Simulator/*/makefile Tools/*/makefile \ - Lib/*/*/makefile Simulator/*/*/makefile Tools/*/*/makefile \ - Tests/makefile - rm -f Src/Main/fg.exe Tools/*/*.exe diff --git a/NEWS b/NEWS index 17267af2d..6fcc14802 100644 --- a/NEWS +++ b/NEWS @@ -1,35 +1,3 @@ -New in 0.6.2 -* MSVC++ and FreeBSD portability enhancements. -* MACos fixes. -* JSBsim updates. -* c172 updates. - -New in 0.6.1 -* Tony Peden contributed a c172 flight model replacement for the - Navion. Still needs to be debugged a bit before it is usable. -* More MacOS portability fixes. -* More Borland C++ fixes. -* More IRIX fixes. -* Fixed a bug in handling windows drive letter, colon "C:" notation. -* Minor tweaks to the Astro sub section contributed by Durk Talsma. -* GUI updated contributed by Norman Vine. -* Fixed a problem with ambiguous constructors in the fgText class. -* Updates to JSBsim contributed by Jon Berndt. -* Created a tile load queue so that we only load one tile per frame. - This isn't entirely satisfactory, but it reduces the length of the - pause when crossing a tile boundary with several shorter pauses. -* Fixed bug with passing PUI keystrokes on to glut. -* Fixed a bug in tilecache size which caused occasional tiles to drop - out when more than one row is scheduled "simultaneously". -* Changes to scenery building tools to handle sliver detection and - resolution. -* Fixed several other minor bugs in the scenery creation tools. -* Added urban area support to scenery creation tools. -* Made the parallel scenery building tools a bit more robust if a - requested client machine happens to be offline by pinging it first - to see if it is alive. -* Added support for libgpc's new hole tracking interface. - New in 0.6.0 * Tons of improvements with scenery creation. Inter-tile gaps have been fixed, distorted textures have been fixed, real coastlines have been added, diff --git a/README.Linux b/README.Linux index da6f0576d..b1291d340 100644 --- a/README.Linux +++ b/README.Linux @@ -8,9 +8,9 @@ FlightGear up and running under Linux. You need to understand the concepts of 3D acceleration under Linux and the needed libraries. An excellent source of information is the "Linux -Quake-HOWTO" which can be found at +3Dfx HOWTO" which can be found at - http://www.linuxquake.com + http://www.gamers.org/dEngine/xf3D/howto/3Dfx-HOWTO.html If anything seem to be wrong with your 3D setup, check there first! @@ -49,45 +49,6 @@ need" grabbed the latest version of mesa, you should have everything you need. - Alternatively, you can use the 3D-stuff that came along with your - Linux distribution. At least RedHat (5.3 and later) and S.u.S.E. 6.0 - (or later) contain all the things you need. - - - (optional) the 3DFX kernel module. - - Without this thingy installed, access to your accelerator board - needs to be SUID root, which bad practice (and a _huge_ security - hole). Get the 3DFX module from - - http://www.xs4all.nl/~carlo17/3dfx/index.html - - and install it: - - mkdir 3dfx - cd 3dfx - tar xvfz ../Dev3Dfx-2.7.tar.gz - make - cp 3dfx.o /lib/modules/`uname -r`/misc - mknod /dev/3dfx c 107 0 - insmod 3dfx - - alternatively, you can get the RPM from there ind use rpm for - installation. - - - Steve Baker's plib library. - - get it from - - http://www.woodsoup.org/projs/plib/ - - and follow the instructions in README.plib. - - - (optional) the gpc and gfc libraries. - - Read the README.g[fp]c files to understand what they are good for - and decide whether you need to download them. If you don't want to - build your own sceneries, you might not need them. - 2. Build FlightGear: You will need the following files: @@ -133,9 +94,15 @@ This will install the binaries in /usr/local/bin. Notice that the name of the FlightGear binary is "fgfs". Another problem with Linux/Glide is permission-related. All programs -accessing the Accelerator board need root permissions (or the kernel -module mentioned above installed). I _strongly_ recommend the latter. +accessing the Accelerator board need root permissions. The solution is +either to play as root or make the /usr/local/bin/fgfs binary "setuid +root", i.e. when this binary is run root priviledges are given. Do +this by issuing (as root) + + chmod +s /usr/local/bin/fgfs +A solution for this problem is upcoming, keep an eye on the 3Dfx +website. 3. Install the data files @@ -228,6 +195,4 @@ adjusted for your specific architecture: export CFLAGS="-mieee -mcpu=ev56 -Wa,-m21164a -pipe -g" export CXXFLAGS="-mieee -mcpu=ev56 -Wa,-m21164a -pipe -g" - ./configure - - + ./configure \ No newline at end of file diff --git a/Thanks b/Thanks index 29ff235f0..fd2ea138a 100644 --- a/Thanks +++ b/Thanks @@ -136,7 +136,7 @@ Bob Kuehne Redid the Makefile system so it is simpler and more robust. -WoodSoup Project http://www.woodsoup.org +Vasily Lewis http://www.woodsoup.org Provided computing resources and services so that the Flight Gear project could have real home. This includes, web services, ftp services shell accounts, email lists, dns services, etc. diff --git a/config.guess b/config.guess old mode 100755 new mode 100644 diff --git a/config.sub b/config.sub old mode 100755 new mode 100644 diff --git a/configure.in b/configure.in deleted file mode 100644 index 2e25da2ad..000000000 --- a/configure.in +++ /dev/null @@ -1,357 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -dnl -dnl The basis for this file was generated by autoscan(1) [pere 1998-03-19] -dnl -dnl $Id$ - -AC_INIT(Simulator/Aircraft/aircraft.cxx) - -dnl Initialize the automake stuff -AM_INIT_AUTOMAKE(FlightGear, 0.6.2) - -dnl configure other independant packages included with flight gear for -dnl convenience -dnl AC_CONFIG_SUBDIRS( Lib/plib ) - -dnl Checks for programs. -AC_PROG_MAKE_SET -AC_PROG_CC -AC_PROG_CXX -AC_PROG_RANLIB -AC_PROG_INSTALL -AC_PROG_LN_S - -dnl Initialize libtool -dnl AM_PROG_LIBTOOL - -dnl Initialize maintainer mode -dnl AM_MAINTAINER_MODE - -dnl This is needed for AC_TRY_COMPILE later -dnl AC_ISC_POSIX - -dnl Check to see if this `configure' is being run in the `Cygwin32' environment -dnl AM_CYGWIN32 - -dnl Specify if we want logging (testing build) or not (release build) -# set logging default value -# with_logging=yes -AC_ARG_WITH(logging, [ --with-logging Include logging output (default)]) -if test "x$with_logging" = "xno" ; then - AC_DEFINE(FG_NDEBUG) -fi - - -dnl specify if we are building with "checker" -AC_ARG_WITH(efence, [ --with-efence Specify if we are building with "electric-fence"]) - -if test "x$with_efence" = "xyes" ; then - echo "Building with efence" - LIBS= "$LIBS -lefence" -fi - -dnl specify the compiled flight model -AC_ARG_WITH(flight-model, [ --with-flight-model=xxx Specify the flight model (navion, c172)]) - -if test "x$with_flight_model" = "xc172" ; then - echo "Building with c172 flight model" -else - echo "Building with navion flight model" -fi -AM_CONDITIONAL(ENABLE_C172, test "x$with_flight_model" = "xc172") - -dnl Let the Win32 user specify if they want to build with the SGI -dnl opengl.dll as opposed to the more standard openg32.dll -AC_ARG_WITH(sgi-opengl, [ --with-sgi-opengl Build against SGI's opengl.dll glu.dll and glut.dll]) - -dnl Check for MS Windows environment -AC_CHECK_HEADER(windows.h) - -dnl extra library and include directories -EXTRA_DIRS="/usr/local /usr/X11R6" - -if test -d /opt/X11R6 ; then - EXTRA_DIRS="$EXTRA_DIRS /opt/X11R6" -fi - -if test "x$ac_cv_header_windows_h" = "xyes" ; then - EXTRA_DIRS="${EXTRA_DIRS} `pwd`/Win32" -# elif test `uname -s` = "SunOS" ; then -# EXTRA_DIRS="${EXTRA_DIRS} `pwd`/SunOS" -fi -wi_EXTRA_DIRS(no, ${EXTRA_DIRS}) - -dnl Check for "plib" without which we cannot go on -AC_CHECK_HEADER(plib/pu.h) -if test "x$ac_cv_header_plib_pu_h" != "xyes"; then - echo - echo "You *must* have the plib library installed on your system to build" - echo "the FGFS simulator!" - echo - echo "Please see README.plib for more details." - echo - echo "configure aborted." - exit - AM_CONDITIONAL(ENABLE_PLIB_JOYSTICK, false ) -else - dnl Use plib joystick lib - AM_CONDITIONAL(ENABLE_PLIB_JOYSTICK, true ) -fi - -dnl Using AM_CONDITIONAL is a step out of the protected little -dnl automake fold so it is potentially dangerous. But, we are -dnl beginning to run into cases where the standard checks are not -dnl enough. AM_CONDITIONALS are then referenced to conditionally -dnl build a Makefile.in from a Makefile.am which lets us define custom -dnl includes, compile alternative source files, etc. - -dnl Check for external variables daylight and timezone. -AC_EXT_DAYLIGHT -AM_CONDITIONAL(HAVE_DAYLIGHT, test "$have_daylight" = yes ) - -AC_EXT_TIMEZONE -AM_CONDITIONAL(HAVE_TIMEZONE, test "$have_timezone" = yes ) - -dnl Check for Linux style audio support -AM_CONDITIONAL(ENABLE_AUDIO_SUPPORT, \ - test -r /usr/include/soundcard.h \ - -o -r /usr/include/linux/soundcard.h \ - -o -r /usr/include/machine/soundcard.h \ - -o -r /usr/include/audio.h \ - -o "x$ac_cv_header_windows_h" = "xyes" ) - -AM_CONDITIONAL(ENABLE_IRIX_AUDIO, test -r /usr/include/audio.h) - -AM_CONDITIONAL(ENABLE_WIN32_AUDIO, test "x$ac_cv_header_windows_h" = "xyes") - -dnl Enable serial support on Unix type systems -AM_CONDITIONAL(ENABLE_UNIX_SERIAL, true) - -dnl Check for X11 (fancy) -AC_PATH_XTRA - -dnl Checks for libraries. - -null_LIBS="$LIBS" - -AC_CHECK_LIB(m, cos) - -base_LIBS="$LIBS" - -AC_CHECK_LIB(socket, socket) -AC_CHECK_LIB(X11, XCreateWindow) -AC_CHECK_LIB(Xext, XShmCreateImage) -AC_CHECK_LIB(Xi, XGetExtensionVersion) -AC_CHECK_LIB(ICE, IceOpenConnection) -AC_CHECK_LIB(SM, SmcOpenConnection) -AC_CHECK_LIB(Xt, XtMalloc) -AC_CHECK_LIB(Xmu, XmuLookupStandardColormap) - -dnl check for OpenGL related libraries - -if test "x$ac_cv_header_windows_h" != "xyes" ; then - dnl Reasonable stuff for non-windoze variants ... :-) - - AC_CHECK_LIB(GLcore, glNewList) - if test "x$ac_cv_lib_GLcore_glNewList" = "xno" ; then - dnl if no GLcore, check for GL - AC_CHECK_LIB(GL, glNewList) - if test "x$ac_cv_lib_GL_glNewList" = "xno" ; then - dnl if no GL, check for MesaGL - AC_CHECK_LIB(MesaGL, glNewList) - fi - else - dnl if GLcore found, then also check for GL - AC_CHECK_LIB(GL, glXCreateContext) - fi - - dnl if using mesa, check for xmesa.h - if test "x$ac_cv_lib_MesaGL_glNewList" = "xyes" ; then - AC_CHECK_HEADER(GL/xmesa.h) - AM_CONDITIONAL(ENABLE_XMESA_FX, \ - test "x$ac_cv_header_GL_xmesa_h" = "xyes") - else - dnl force a failed check - AM_CONDITIONAL(ENABLE_XMESA_FX, test "no" = "yes") - fi - - AC_CHECK_LIB(GLU, gluLookAt) - if test "x$ac_cv_lib_GLU_gluLookAt" = "xno" ; then - dnl if no GLU, check for MesaGLU - AC_CHECK_LIB(MesaGLU, gluLookAt) - fi - - dnl check for glut - AC_CHECK_LIB(glut, glutGetModifiers) - - dnl test for glutGameModeString, but avoid adding glut a second time into - dnl the list of libraries - save_LIBS="$LIBS" - AC_CHECK_LIB(glut, glutGameModeString) - LIBS="$save_LIBS" -else - dnl Win32 is a little wierd because it has to try to handle the various - dnl winbloze-isms. We'll just do this manually for now. - - echo Win32 specific hacks... - AC_DEFINE(WIN32) - - dnl force a failed check since we will be building under windoze - AM_CONDITIONAL(ENABLE_XMESA_FX, test "no" = "yes") - - dnl just define these to true and hope for the best - ac_cv_lib_glut_glutGetModifiers="yes" - ac_cv_lib_glut_glutGameModeString="yes" - - if test "x$with_sgi_opengl" = "xyes" ; then - echo "Building with glut.dll, glu.dll, and opengl.dll" - WIN32_GLUT=glut - WIN32_GLU=glu - WIN32_OPENGL=opengl - else - echo "Building with glut32.dll, glu32.dll, and opengl32.dll" - WIN32_GLUT=glut32 - WIN32_GLU=glu32 - WIN32_OPENGL=opengl32 - fi - - LIBS="$LIBS -l${WIN32_GLUT} -l${WIN32_GLU} -l${WIN32_OPENGL}" - LIBS="$LIBS -luser32 -lgdi32" - echo "Will link apps with $LIBS" -fi - -if test "x$ac_cv_lib_glut_glutGetModifiers" = "xno"; then - echo - echo "Unable to find the necessary OpenGL or GLUT libraries." - echo "See config.log for automated test details and results ..." - exit 1 -fi - -if test "x$ac_cv_lib_glut_glutGameModeString" = "xno"; then - echo - echo "Your version of glut doesn't support game mode." - echo "You need to fetch and install the latest version of glut from:" - echo - echo " http://reality.sgi.com/opengl/glut3/glut3.html" - exit 1 -fi - -opengl_LIBS="$LIBS" -LIBS="$base_LIBS" - -AC_SUBST(base_LIBS) -AC_SUBST(opengl_LIBS) - -AM_CONDITIONAL(HAVE_XWINDOWS, test "x$ac_cv_lib_X11_XCreateWindow" = "xyes" ) - -dnl Check if Generic Polygon Clipping library is installed -dnl (from http://www.cs.man.ac.uk/aig/staff/alan/software/) -AC_CHECK_HEADERS( gpc.h ) -if test "x$ac_cv_header_gpc_h" != "xyes"; then - echo - echo "You need to have the GPC library installed on your system to build" - echo "some of the scenery generation tools, otherwise you won't be able." - echo "to create scenery." - echo - echo "Please see README.gpc for more details." - echo - echo "(pausing 5 seconds)" - sleep 5 - echo -fi - -dnl Check if Geographic Foundation Classes library is installed -dnl (from ftp://ftp.flightgear.org/pub/fgfs/Source/) -AC_CHECK_HEADERS( gfc/gdbf.h ) -if test "x$ac_cv_header_gfc_gdbf_h" != "xyes"; then - echo - echo "You need to have the GFC library installed on your system to build" - echo "some of the scenery generation tools, otherwise, they may fail." - echo - echo "Please see README.gfc for more details." - echo - echo "(pausing 5 seconds)" - sleep 5 - echo -fi - -dnl Checks for header files. -AC_HEADER_STDC -AC_CHECK_HEADERS( \ - fcntl.h getopt.h malloc.h memory.h stdlib.h sys/stat.h sys/time.h \ - sys/timeb.h unistd.h windows.h winbase.h values.h ) - -dnl Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST -AC_TYPE_SIZE_T -AC_HEADER_TIME -AC_STRUCT_TM - -dnl Checks for library functions. -AC_TYPE_SIGNAL -AC_FUNC_VPRINTF -AC_CHECK_FUNCS( ftime gettimeofday memcpy bcopy mktime strstr rand random \ - setitimer getitimer signal GetLocalTime rint getrusage ) - -AM_CONFIG_HEADER(Include/config.h) - -AC_OUTPUT( \ - VERSION \ - Makefile \ - Include/Makefile \ - Lib/Makefile \ - Lib/Bucket/Makefile \ - Lib/Debug/Makefile \ - Lib/Math/Makefile \ - Lib/Misc/Makefile \ - Lib/Serial/Makefile \ - Lib/XGL/Makefile \ - Lib/zlib/Makefile \ - Simulator/Makefile \ - Simulator/Aircraft/Makefile \ - Simulator/Airports/Makefile \ - Simulator/Astro/Makefile \ - Simulator/Autopilot/Makefile \ - Simulator/Cockpit/Makefile \ - Simulator/Controls/Makefile \ - Simulator/FDM/External/Makefile \ - Simulator/FDM/JSBsim/Makefile \ - Simulator/FDM/LaRCsim/Makefile \ - Simulator/FDM/Slew/Makefile \ - Simulator/FDM/Makefile \ - Simulator/GUI/Makefile \ - Simulator/Joystick/Makefile \ - Simulator/Main/Makefile \ - Simulator/Main/runfgfs \ - Simulator/Main/runfgfs.bat \ - Simulator/Makefile \ - Simulator/Objects/Makefile \ - Simulator/Scenery/Makefile \ - Simulator/Time/Makefile \ - Simulator/Weather/Makefile \ - Tools/Makefile \ - Tools/Construct/Makefile \ - Tools/Construct/Array/Makefile \ - Tools/Construct/Clipper/Makefile \ - Tools/Construct/Combine/Makefile \ - Tools/Construct/GenOutput/Makefile \ - Tools/Construct/Match/Makefile \ - Tools/Construct/Triangulate/Makefile \ - Tools/Construct/Main/Makefile \ - Tools/Construct/Parallel/Makefile \ - Tools/Lib/Makefile \ - Tools/Lib/DEM/Makefile \ - Tools/Lib/Polygon/Makefile \ - Tools/Lib/Triangle/Makefile \ - Tools/Prep/Makefile \ - Tools/Prep/DemChop/Makefile \ - Tools/Prep/DemInfo/Makefile \ - Tools/Prep/DemRaw2ascii/Makefile \ - Tools/Prep/GenAirports/Makefile \ - Tools/Prep/ShapeFile/Makefile \ - Tools/Utils/Makefile \ - Tests/Makefile \ -) - -AC_OUTPUT_COMMANDS([chmod 755 Simulator/Main/runfgfs]) - diff --git a/install-sh b/install-sh deleted file mode 100755 index e8436696c..000000000 --- a/install-sh +++ /dev/null @@ -1,250 +0,0 @@ -#!/bin/sh -# -# install - install a program, script, or datafile -# This comes from X11R5 (mit/util/scripts/install.sh). -# -# Copyright 1991 by the Massachusetts Institute of Technology -# -# Permission to use, copy, modify, distribute, and sell this software and its -# documentation for any purpose is hereby granted without fee, provided that -# the above copyright notice appear in all copies and that both that -# copyright notice and this permission notice appear in supporting -# documentation, and that the name of M.I.T. not be used in advertising or -# publicity pertaining to distribution of the software without specific, -# written prior permission. M.I.T. makes no representations about the -# suitability of this software for any purpose. It is provided "as is" -# without express or implied warranty. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. It can only install one file at a time, a restriction -# shared with many OS's install programs. - - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit="${DOITPROG-}" - - -# put in absolute paths if you don't have them in your path; or use env. vars. - -mvprog="${MVPROG-mv}" -cpprog="${CPPROG-cp}" -chmodprog="${CHMODPROG-chmod}" -chownprog="${CHOWNPROG-chown}" -chgrpprog="${CHGRPPROG-chgrp}" -stripprog="${STRIPPROG-strip}" -rmprog="${RMPROG-rm}" -mkdirprog="${MKDIRPROG-mkdir}" - -transformbasename="" -transform_arg="" -instcmd="$mvprog" -chmodcmd="$chmodprog 0755" -chowncmd="" -chgrpcmd="" -stripcmd="" -rmcmd="$rmprog -f" -mvcmd="$mvprog" -src="" -dst="" -dir_arg="" - -while [ x"$1" != x ]; do - case $1 in - -c) instcmd="$cpprog" - shift - continue;; - - -d) dir_arg=true - shift - continue;; - - -m) chmodcmd="$chmodprog $2" - shift - shift - continue;; - - -o) chowncmd="$chownprog $2" - shift - shift - continue;; - - -g) chgrpcmd="$chgrpprog $2" - shift - shift - continue;; - - -s) stripcmd="$stripprog" - shift - continue;; - - -t=*) transformarg=`echo $1 | sed 's/-t=//'` - shift - continue;; - - -b=*) transformbasename=`echo $1 | sed 's/-b=//'` - shift - continue;; - - *) if [ x"$src" = x ] - then - src=$1 - else - # this colon is to work around a 386BSD /bin/sh bug - : - dst=$1 - fi - shift - continue;; - esac -done - -if [ x"$src" = x ] -then - echo "install: no input file specified" - exit 1 -else - true -fi - -if [ x"$dir_arg" != x ]; then - dst=$src - src="" - - if [ -d $dst ]; then - instcmd=: - else - instcmd=mkdir - fi -else - -# Waiting for this to be detected by the "$instcmd $src $dsttmp" command -# might cause directories to be created, which would be especially bad -# if $src (and thus $dsttmp) contains '*'. - - if [ -f $src -o -d $src ] - then - true - else - echo "install: $src does not exist" - exit 1 - fi - - if [ x"$dst" = x ] - then - echo "install: no destination specified" - exit 1 - else - true - fi - -# If destination is a directory, append the input filename; if your system -# does not like double slashes in filenames, you may need to add some logic - - if [ -d $dst ] - then - dst="$dst"/`basename $src` - else - true - fi -fi - -## this sed command emulates the dirname command -dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` - -# Make sure that the destination directory exists. -# this part is taken from Noah Friedman's mkinstalldirs script - -# Skip lots of stat calls in the usual case. -if [ ! -d "$dstdir" ]; then -defaultIFS=' -' -IFS="${IFS-${defaultIFS}}" - -oIFS="${IFS}" -# Some sh's can't handle IFS=/ for some reason. -IFS='%' -set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` -IFS="${oIFS}" - -pathcomp='' - -while [ $# -ne 0 ] ; do - pathcomp="${pathcomp}${1}" - shift - - if [ ! -d "${pathcomp}" ] ; - then - $mkdirprog "${pathcomp}" - else - true - fi - - pathcomp="${pathcomp}/" -done -fi - -if [ x"$dir_arg" != x ] -then - $doit $instcmd $dst && - - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi -else - -# If we're going to rename the final executable, determine the name now. - - if [ x"$transformarg" = x ] - then - dstfile=`basename $dst` - else - dstfile=`basename $dst $transformbasename | - sed $transformarg`$transformbasename - fi - -# don't allow the sed command to completely eliminate the filename - - if [ x"$dstfile" = x ] - then - dstfile=`basename $dst` - else - true - fi - -# Make a temp file name in the proper directory. - - dsttmp=$dstdir/#inst.$$# - -# Move or copy the file name to the temp name - - $doit $instcmd $src $dsttmp && - - trap "rm -f ${dsttmp}" 0 && - -# and set any options; do chmod last to preserve setuid bits - -# If any of these fail, we abort the whole thing. If we want to -# ignore errors from any of these, just make sure not to ignore -# errors from the above "$doit $instcmd $src $dsttmp" command. - - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && - -# Now rename the file to the real destination. - - $doit $rmcmd -f $dstdir/$dstfile && - $doit $mvcmd $dsttmp $dstdir/$dstfile - -fi && - - -exit 0 diff --git a/irix-hack.pl b/irix-hack.pl deleted file mode 100755 index a7a9c3132..000000000 --- a/irix-hack.pl +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/perl - -$file = shift(@ARGV); - -print "Fixing $file\n"; - -open(IN, "<$file") || die "cannot open $file for reading\n"; -open(OUT, ">$file.new") || die "cannot open $file.new for writting\n"; - -while () { - s/^AR = ar$/AR = CC -ar/; - s/\$\(AR\) cru /\$\(AR\) -o /; - print OUT $_; -} - -rename("$file.new", "$file") || die "cannot rename $file.new to $file\n"; diff --git a/missing b/missing deleted file mode 100755 index a6abd0698..000000000 --- a/missing +++ /dev/null @@ -1,134 +0,0 @@ -#! /bin/sh -# Common stub for a few missing GNU programs while installing. -# Copyright (C) 1996, 1997 Free Software Foundation, Inc. -# Franc,ois Pinard , 1996. - -# 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, 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., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -if test $# -eq 0; then - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 -fi - -case "$1" in - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - -Supported PROGRAM values: - aclocal touch file \`aclocal.m4' - autoconf touch file \`configure' - autoheader touch file \`config.h.in' - automake touch all \`Makefile.in' files - bison touch file \`y.tab.c' - makeinfo touch the output file - yacc touch file \`y.tab.c'" - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing - GNU libit 0.0" - ;; - - -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 - ;; - - aclocal) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified \`acinclude.m4' or \`configure.in'. You might want - to install the \`Automake' and \`Perl' packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified \`configure.in'. You might want to install the - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified \`acconfig.h' or \`configure.in'. You might want - to install the \`Autoconf' and \`GNU m4' packages. Grab them - from any GNU archive site." - touch config.h.in - ;; - - automake) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'. - You might want to install the \`Automake' and \`Perl' packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print \ - | sed 's/^\(.*\).am$/touch \1.in/' \ - | sh - ;; - - bison|yacc) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package - in order for those modifications to take effect. You can get - \`Bison' from any GNU archive site." - touch y.tab.c - ;; - - makeinfo) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy \`make' (AIX, - DU, IRIX). You might want to install the \`Texinfo' package or - the \`GNU make' package. Grab either from any GNU archive site." - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` - if test -z "$file"; then - file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` - fi - touch $file - ;; - - *) - echo 1>&2 "\ -WARNING: \`$1' is needed, and you do not seem to have it handy on your - system. You might have modified some files without having the - proper tools for further handling them. Check the \`README' file, - it often tells you about the needed prerequirements for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing \`$1' program." - exit 1 - ;; -esac - -exit 0 diff --git a/mkinstalldirs b/mkinstalldirs deleted file mode 100755 index d0fd194fd..000000000 --- a/mkinstalldirs +++ /dev/null @@ -1,40 +0,0 @@ -#! /bin/sh -# mkinstalldirs --- make directory hierarchy -# Author: Noah Friedman -# Created: 1993-05-16 -# Public domain - -# $Id$ - -errstatus=0 - -for file -do - set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` - shift - - pathcomp= - for d - do - pathcomp="$pathcomp$d" - case "$pathcomp" in - -* ) pathcomp=./$pathcomp ;; - esac - - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" 1>&2 - - mkdir "$pathcomp" || lasterr=$? - - if test ! -d "$pathcomp"; then - errstatus=$lasterr - fi - fi - - pathcomp="$pathcomp/" - done -done - -exit $errstatus - -# mkinstalldirs ends here diff --git a/src/Airports/simple.cxx b/src/Airports/simple.cxx index f9411a198..1e5d9a694 100644 --- a/src/Airports/simple.cxx +++ b/src/Airports/simple.cxx @@ -27,7 +27,6 @@ #include #include -#include #include #include
@@ -47,15 +46,13 @@ int fgAIRPORTS::load( const string& file ) { fgAIRPORT a; // build the path name to the airport file - FGPath path( current_options.get_fg_root() ); - path.append( "Airports" ); - path.append( file ); + string path = current_options.get_fg_root() + "/Airports/" + file; airports.erase( airports.begin(), airports.end() ); - fg_gzifstream in( path.str() ); - if ( !in.is_open() ) { - FG_LOG( FG_GENERAL, FG_ALERT, "Cannot open file: " << path.str() ); + fg_gzifstream in( path ); + if ( !in ) { + FG_LOG( FG_GENERAL, FG_ALERT, "Cannot open file: " << path ); exit(-1); } @@ -68,29 +65,14 @@ int fgAIRPORTS::load( const string& file ) { */ // read in each line of the file - -#ifdef __MWERKS__ - in >> skipcomment; - char c = 0; - while ( in.get(c) && c != '\0' ) { - in.putback(c); - in >> a; - airports.insert(a); - in >> skipcomment; - } - -#else - - in >> skipcomment; - while ( ! in.eof() ) { + while ( ! in.eof() ) + { in >> a; airports.insert(a); in >> skipcomment; } -#endif - return 1; } diff --git a/src/Astro/Makefile.am b/src/Astro/Makefile.am deleted file mode 100644 index 3d3af9f39..000000000 --- a/src/Astro/Makefile.am +++ /dev/null @@ -1,19 +0,0 @@ -noinst_LIBRARIES = libAstro.a - -libAstro_a_SOURCES = \ - celestialBody.cxx celestialBody.hxx \ - jupiter.cxx jupiter.hxx \ - mars.cxx mars.hxx \ - mercury.cxx mercury.hxx \ - moon.cxx moon.hxx \ - neptune.cxx neptune.hxx \ - pluto.hxx \ - saturn.cxx saturn.hxx \ - sky.cxx sky.hxx \ - solarsystem.cxx solarsystem.hxx \ - star.cxx star.hxx \ - stars.cxx stars.hxx \ - uranus.cxx uranus.hxx \ - venus.cxx venus.hxx - -INCLUDES += -I$(top_builddir) -I$(top_builddir)/Lib -I$(top_builddir)/Simulator diff --git a/src/Astro/celestialBody.cxx b/src/Astro/celestialBody.cxx deleted file mode 100644 index 715cd6133..000000000 --- a/src/Astro/celestialBody.cxx +++ /dev/null @@ -1,176 +0,0 @@ -/************************************************************************** - * celestialBody.cxx - * Written by Durk Talsma. Originally started October 1997, for distribution - * with the FlightGear project. Version 2 was written in August and - * September 1998. This code is based upon algorithms and data kindly - * provided by Mr. Paul Schlyter. (pausch@saaf.se). - * - * 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 "celestialBody.hxx" -#include "star.hxx" -#include - -#ifdef FG_MATH_EXCEPTION_CLASH -# define exception c_exception -#endif -#include - -/************************************************************************** - * void CelestialBody::updatePosition(fgTIME *t, Star *ourSun) - * - * Basically, this member function provides a general interface for - * calculating the right ascension and declinaion. This function is - * used for calculating the planetary positions. For the planets, an - * overloaded member function is provided to additionally calculate the - * planet's magnitude. - * The sun and moon have their own overloaded updatePosition member, as their - * position is calculated an a slightly different manner. - * - * arguments: - * fgTIME t: provides the current time. - * Star *ourSun: the sun's position is needed to convert heliocentric - * coordinates into geocentric coordinates. - * - * return value: none - * - *************************************************************************/ -void CelestialBody::updatePosition(FGTime *t, Star *ourSun) -{ - double eccAnom, v, ecl, actTime, - xv, yv, xh, yh, zh, xg, yg, zg, xe, ye, ze; - - updateOrbElements(t); - actTime = fgCalcActTime(t); - - // calcualate the angle bewteen ecliptic and equatorial coordinate system - ecl = DEG_TO_RAD * (23.4393 - 3.563E-7 *actTime); - - eccAnom = fgCalcEccAnom(M, e); //calculate the eccentric anomaly - xv = a * (cos(eccAnom) - e); - yv = a * (sqrt (1.0 - e*e) * sin(eccAnom)); - v = atan2(yv, xv); // the planet's true anomaly - r = sqrt (xv*xv + yv*yv); // the planet's distance - - // calculate the planet's position in 3D space - xh = r * (cos(N) * cos(v+w) - sin(N) * sin(v+w) * cos(i)); - yh = r * (sin(N) * cos(v+w) + cos(N) * sin(v+w) * cos(i)); - zh = r * (sin(v+w) * sin(i)); - - // calculate the ecliptic longitude and latitude - xg = xh + ourSun->getxs(); - yg = yh + ourSun->getys(); - zg = zh; - - lonEcl = atan2(yh, xh); - latEcl = atan2(zh, sqrt(xh*xh+yh*yh)); - - xe = xg; - ye = yg * cos(ecl) - zg * sin(ecl); - ze = yg * sin(ecl) + zg * cos(ecl); - rightAscension = atan2(ye, xe); - declination = atan2(ze, sqrt(xe*xe + ye*ye)); - FG_LOG(FG_GENERAL, FG_INFO, "Planet found at : " - << rightAscension << " (ra), " << declination << " (dec)" ); - - //calculate some variables specific to calculating the magnitude - //of the planet - R = sqrt (xg*xg + yg*yg + zg*zg); - s = ourSun->getDistance(); - - // It is possible from these calculations for the argument to acos - // to exceed the valid range for acos(). So we do a little extra - // checking. - - double tmp = (r*r + R*R - s*s) / (2*r*R); - if ( tmp > 1.0) { - tmp = 1.0; - } else if ( tmp < -1.0) { - tmp = -1.0; - } - - FV = RAD_TO_DEG * acos( tmp ); -}; - -/**************************************************************************** - * double CelestialBody::fgCalcEccAnom(double M, double e) - * this private member calculates the eccentric anomaly of a celestial body, - * given its mean anomaly and eccentricity. - * - * -Mean anomaly: the approximate angle between the perihelion and the current - * position. this angle increases uniformly with time. - * - * True anomaly: the actual angle between perihelion and current position. - * - * Eccentric anomaly: this is an auxilary angle, used in calculating the true - * anomaly from the mean anomaly. - * - * -eccentricity. Indicates the amount in which the orbit deviates from a - * circle (0 = circle, 0-1, is ellipse, 1 = parabola, > 1 = hyperbola). - * - * This function is also known as solveKeplersEquation() - * - * arguments: - * M: the mean anomaly - * e: the eccentricity - * - * return value: - * the eccentric anomaly - * - ****************************************************************************/ -double CelestialBody::fgCalcEccAnom(double M, double e) -{ - double - eccAnom, E0, E1, diff; - - eccAnom = M + e * sin(M) * (1.0 + e * cos (M)); - // iterate to achieve a greater precision for larger eccentricities - if (e > 0.05) - { - E0 = eccAnom; - do - { - E1 = E0 - (E0 - e * sin(E0) - M) / (1 - e *cos(E0)); - diff = fabs(E0 - E1); - E0 = E1; - } - while (diff > (DEG_TO_RAD * 0.001)); - return E0; - } - return eccAnom; -} - - - - - - - - - - - - - - - - - - - - diff --git a/src/Astro/celestialBody.hxx b/src/Astro/celestialBody.hxx deleted file mode 100644 index 3deccc09f..000000000 --- a/src/Astro/celestialBody.hxx +++ /dev/null @@ -1,195 +0,0 @@ -/************************************************************************** - * celestialBody.hxx - * Written by Durk Talsma. Originally started October 1997, for distribution - * with the FlightGear project. Version 2 was written in August and - * September 1998. This code is based upon algorithms and data kindly - * provided by Mr. Paul Schlyter. (pausch@saaf.se). - * - * 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 _CELESTIALBODY_H_ -#define _CELESTIALBODY_H_ - -#ifndef __cplusplus -# error This library requires C++ -#endif - - -#include