diff --git a/FlightGear.dsp b/FlightGear.dsp index 5ecca6cb1..68f9f05b3 100644 --- a/FlightGear.dsp +++ b/FlightGear.dsp @@ -3661,6 +3661,96 @@ SOURCE=.\src\FDM\LaRCsim\c172_init.c # End Source File # Begin Source File +SOURCE=.\src\FDM\LaRCsim\basic_init.c + +!IF "$(CFG)" == "FlightGear - Win32 Release" + +# PROP Intermediate_Dir "Release\Lib_LaRCsim" + +!ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" + +# PROP Intermediate_Dir "Debug\Lib_LaRCsim" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\src\FDM\LaRCsim\basic_init.h + +!IF "$(CFG)" == "FlightGear - Win32 Release" + +# PROP Intermediate_Dir "Release\Lib_LaRCsim" + +!ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" + +# PROP Intermediate_Dir "Debug\Lib_LaRCsim" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\src\FDM\LaRCsim\basic_aero.c + +!IF "$(CFG)" == "FlightGear - Win32 Release" + +# PROP Intermediate_Dir "Release\Lib_LaRCsim" + +!ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" + +# PROP Intermediate_Dir "Debug\Lib_LaRCsim" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\src\FDM\LaRCsim\basic_aero.h + +!IF "$(CFG)" == "FlightGear - Win32 Release" + +# PROP Intermediate_Dir "Release\Lib_LaRCsim" + +!ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" + +# PROP Intermediate_Dir "Debug\Lib_LaRCsim" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\src\FDM\LaRCsim\basic_engine.c + +!IF "$(CFG)" == "FlightGear - Win32 Release" + +# PROP Intermediate_Dir "Release\Lib_LaRCsim" + +!ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" + +# PROP Intermediate_Dir "Debug\Lib_LaRCsim" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\src\FDM\LaRCsim\basic_gear.c + +!IF "$(CFG)" == "FlightGear - Win32 Release" + +# PROP Intermediate_Dir "Release\Lib_LaRCsim" + +!ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" + +# PROP Intermediate_Dir "Debug\Lib_LaRCsim" + +!ENDIF + +# End Source File +# Begin Source File + SOURCE=.\src\FDM\LaRCsim\navion_init.h !IF "$(CFG)" == "FlightGear - Win32 Release" @@ -7345,6 +7435,36 @@ SOURCE=.\src\Instrumentation\gps.hxx # End Source File # Begin Source File +SOURCE=.\src\Instrumentation\adf.cxx + +!IF "$(CFG)" == "FlightGear - Win32 Release" + +# PROP Intermediate_Dir "Release\Lib_Instrumentation" + +!ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" + +# PROP Intermediate_Dir "Debug\Lib_Instrumentation" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\src\Instrumentation\adf.hxx + +!IF "$(CFG)" == "FlightGear - Win32 Release" + +# PROP Intermediate_Dir "Release\Lib_Instrumentation" + +!ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" + +# PROP Intermediate_Dir "Debug\Lib_Instrumentation" + +!ENDIF + +# End Source File +# Begin Source File + SOURCE=.\src\Instrumentation\gyro.cxx !IF "$(CFG)" == "FlightGear - Win32 Release" @@ -7612,6 +7732,36 @@ SOURCE=.\src\Instrumentation\mag_compass.hxx !ENDIF +# End Source File +# Begin Source File + +SOURCE=.\src\Instrumentation\clock.cxx + +!IF "$(CFG)" == "FlightGear - Win32 Release" + +# PROP Intermediate_Dir "Release\Lib_Instrumentation" + +!ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" + +# PROP Intermediate_Dir "Debug\Lib_Instrumentation" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\src\Instrumentation\clock.hxx + +!IF "$(CFG)" == "FlightGear - Win32 Release" + +# PROP Intermediate_Dir "Release\Lib_Instrumentation" + +!ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" + +# PROP Intermediate_Dir "Debug\Lib_Instrumentation" + +!ENDIF + # End Source File # End Group # Begin Group "main" @@ -7619,7 +7769,7 @@ SOURCE=.\src\Instrumentation\mag_compass.hxx # PROP Default_Filter "" # Begin Source File -SOURCE=.\src\Main\main.cxx +SOURCE=.\src\Main\bootstrap.cxx !IF "$(CFG)" == "FlightGear - Win32 Release" @@ -7631,6 +7781,40 @@ SOURCE=.\src\Main\main.cxx !ENDIF +# End Source File +# End Group +# Begin Group "Lib_Main" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\src\Main\main.cxx + +!IF "$(CFG)" == "FlightGear - Win32 Release" + +# PROP Intermediate_Dir "Release\Lib_Main" + +!ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" + +# PROP Intermediate_Dir "Debug\Lib_Main" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\src\Main\main.hxx + +!IF "$(CFG)" == "FlightGear - Win32 Release" + +# PROP Intermediate_Dir "Release\Lib_Main" + +!ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" + +# PROP Intermediate_Dir "Debug\Lib_Main" + +!ENDIF + # End Source File # Begin Source File @@ -7638,11 +7822,11 @@ SOURCE=.\src\Main\fg_commands.cxx !IF "$(CFG)" == "FlightGear - Win32 Release" -# PROP Intermediate_Dir "Release\main" +# PROP Intermediate_Dir "Release\Lib_Main" !ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" -# PROP Intermediate_Dir "Debug\main" +# PROP Intermediate_Dir "Debug\Lib_Main" !ENDIF @@ -7653,11 +7837,11 @@ SOURCE=.\src\Main\fg_commands.hxx !IF "$(CFG)" == "FlightGear - Win32 Release" -# PROP Intermediate_Dir "Release\main" +# PROP Intermediate_Dir "Release\Lib_Main" !ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" -# PROP Intermediate_Dir "Debug\main" +# PROP Intermediate_Dir "Debug\Lib_Main" !ENDIF @@ -7668,11 +7852,11 @@ SOURCE=.\src\Main\fg_init.cxx !IF "$(CFG)" == "FlightGear - Win32 Release" -# PROP Intermediate_Dir "Release\main" +# PROP Intermediate_Dir "Release\Lib_Main" !ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" -# PROP Intermediate_Dir "Debug\main" +# PROP Intermediate_Dir "Debug\Lib_Main" !ENDIF @@ -7683,11 +7867,11 @@ SOURCE=.\src\Main\fg_init.hxx !IF "$(CFG)" == "FlightGear - Win32 Release" -# PROP Intermediate_Dir "Release\main" +# PROP Intermediate_Dir "Release\Lib_Main" !ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" -# PROP Intermediate_Dir "Debug\main" +# PROP Intermediate_Dir "Debug\Lib_Main" !ENDIF @@ -7698,11 +7882,11 @@ SOURCE=.\src\Main\fg_io.cxx !IF "$(CFG)" == "FlightGear - Win32 Release" -# PROP Intermediate_Dir "Release\main" +# PROP Intermediate_Dir "Release\Lib_Main" !ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" -# PROP Intermediate_Dir "Debug\main" +# PROP Intermediate_Dir "Debug\Lib_Main" !ENDIF @@ -7713,11 +7897,11 @@ SOURCE=.\src\Main\fg_io.hxx !IF "$(CFG)" == "FlightGear - Win32 Release" -# PROP Intermediate_Dir "Release\main" +# PROP Intermediate_Dir "Release\Lib_Main" !ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" -# PROP Intermediate_Dir "Debug\main" +# PROP Intermediate_Dir "Debug\Lib_Main" !ENDIF @@ -7728,11 +7912,11 @@ SOURCE=.\src\Main\fg_props.cxx !IF "$(CFG)" == "FlightGear - Win32 Release" -# PROP Intermediate_Dir "Release\main" +# PROP Intermediate_Dir "Release\Lib_Main" !ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" -# PROP Intermediate_Dir "Debug\main" +# PROP Intermediate_Dir "Debug\Lib_Main" !ENDIF @@ -7743,41 +7927,11 @@ SOURCE=.\src\Main\fg_props.hxx !IF "$(CFG)" == "FlightGear - Win32 Release" -# PROP Intermediate_Dir "Release\main" +# PROP Intermediate_Dir "Release\Lib_Main" !ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" -# PROP Intermediate_Dir "Debug\main" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\src\Main\fgfs.cxx - -!IF "$(CFG)" == "FlightGear - Win32 Release" - -# PROP Intermediate_Dir "Release\main" - -!ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" - -# PROP Intermediate_Dir "Debug\main" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\src\Main\fgfs.hxx - -!IF "$(CFG)" == "FlightGear - Win32 Release" - -# PROP Intermediate_Dir "Release\main" - -!ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" - -# PROP Intermediate_Dir "Debug\main" +# PROP Intermediate_Dir "Debug\Lib_Main" !ENDIF @@ -7788,11 +7942,11 @@ SOURCE=.\src\Main\globals.cxx !IF "$(CFG)" == "FlightGear - Win32 Release" -# PROP Intermediate_Dir "Release\main" +# PROP Intermediate_Dir "Release\Lib_Main" !ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" -# PROP Intermediate_Dir "Debug\main" +# PROP Intermediate_Dir "Debug\Lib_Main" !ENDIF @@ -7803,11 +7957,11 @@ SOURCE=.\src\Main\globals.hxx !IF "$(CFG)" == "FlightGear - Win32 Release" -# PROP Intermediate_Dir "Release\main" +# PROP Intermediate_Dir "Release\Lib_Main" !ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" -# PROP Intermediate_Dir "Debug\main" +# PROP Intermediate_Dir "Debug\Lib_Main" !ENDIF @@ -7818,11 +7972,11 @@ SOURCE=.\src\Main\logger.cxx !IF "$(CFG)" == "FlightGear - Win32 Release" -# PROP Intermediate_Dir "Release\main" +# PROP Intermediate_Dir "Release\Lib_Main" !ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" -# PROP Intermediate_Dir "Debug\main" +# PROP Intermediate_Dir "Debug\Lib_Main" !ENDIF @@ -7833,11 +7987,11 @@ SOURCE=.\src\Main\logger.hxx !IF "$(CFG)" == "FlightGear - Win32 Release" -# PROP Intermediate_Dir "Release\main" +# PROP Intermediate_Dir "Release\Lib_Main" !ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" -# PROP Intermediate_Dir "Debug\main" +# PROP Intermediate_Dir "Debug\Lib_Main" !ENDIF @@ -7848,11 +8002,11 @@ SOURCE=.\src\Main\options.cxx !IF "$(CFG)" == "FlightGear - Win32 Release" -# PROP Intermediate_Dir "Release\main" +# PROP Intermediate_Dir "Release\Lib_Main" !ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" -# PROP Intermediate_Dir "Debug\main" +# PROP Intermediate_Dir "Debug\Lib_Main" !ENDIF @@ -7863,11 +8017,11 @@ SOURCE=.\src\Main\options.hxx !IF "$(CFG)" == "FlightGear - Win32 Release" -# PROP Intermediate_Dir "Release\main" +# PROP Intermediate_Dir "Release\Lib_Main" !ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" -# PROP Intermediate_Dir "Debug\main" +# PROP Intermediate_Dir "Debug\Lib_Main" !ENDIF @@ -7878,11 +8032,11 @@ SOURCE=.\src\Main\splash.cxx !IF "$(CFG)" == "FlightGear - Win32 Release" -# PROP Intermediate_Dir "Release\main" +# PROP Intermediate_Dir "Release\Lib_Main" !ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" -# PROP Intermediate_Dir "Debug\main" +# PROP Intermediate_Dir "Debug\Lib_Main" !ENDIF @@ -7893,11 +8047,11 @@ SOURCE=.\src\Main\splash.hxx !IF "$(CFG)" == "FlightGear - Win32 Release" -# PROP Intermediate_Dir "Release\main" +# PROP Intermediate_Dir "Release\Lib_Main" !ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" -# PROP Intermediate_Dir "Debug\main" +# PROP Intermediate_Dir "Debug\Lib_Main" !ENDIF @@ -7908,11 +8062,11 @@ SOURCE=.\src\Main\util.cxx !IF "$(CFG)" == "FlightGear - Win32 Release" -# PROP Intermediate_Dir "Release\main" +# PROP Intermediate_Dir "Release\Lib_Main" !ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" -# PROP Intermediate_Dir "Debug\main" +# PROP Intermediate_Dir "Debug\Lib_Main" !ENDIF @@ -7923,11 +8077,11 @@ SOURCE=.\src\Main\util.hxx !IF "$(CFG)" == "FlightGear - Win32 Release" -# PROP Intermediate_Dir "Release\main" +# PROP Intermediate_Dir "Release\Lib_Main" !ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" -# PROP Intermediate_Dir "Debug\main" +# PROP Intermediate_Dir "Debug\Lib_Main" !ENDIF @@ -7938,11 +8092,11 @@ SOURCE=.\src\Main\viewer.cxx !IF "$(CFG)" == "FlightGear - Win32 Release" -# PROP Intermediate_Dir "Release\main" +# PROP Intermediate_Dir "Release\Lib_Main" !ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" -# PROP Intermediate_Dir "Debug\main" +# PROP Intermediate_Dir "Debug\Lib_Main" !ENDIF @@ -7953,11 +8107,11 @@ SOURCE=.\src\Main\viewer.hxx !IF "$(CFG)" == "FlightGear - Win32 Release" -# PROP Intermediate_Dir "Release\main" +# PROP Intermediate_Dir "Release\Lib_Main" !ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" -# PROP Intermediate_Dir "Debug\main" +# PROP Intermediate_Dir "Debug\Lib_Main" !ENDIF @@ -7968,11 +8122,11 @@ SOURCE=.\src\Main\viewmgr.cxx !IF "$(CFG)" == "FlightGear - Win32 Release" -# PROP Intermediate_Dir "Release\main" +# PROP Intermediate_Dir "Release\Lib_Main" !ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" -# PROP Intermediate_Dir "Debug\main" +# PROP Intermediate_Dir "Debug\Lib_Main" !ENDIF @@ -7983,11 +8137,11 @@ SOURCE=.\src\Main\viewmgr.hxx !IF "$(CFG)" == "FlightGear - Win32 Release" -# PROP Intermediate_Dir "Release\main" +# PROP Intermediate_Dir "Release\Lib_Main" !ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" -# PROP Intermediate_Dir "Debug\main" +# PROP Intermediate_Dir "Debug\Lib_Main" !ENDIF @@ -9016,6 +9170,40 @@ SOURCE=.\src\Objects\ssgEntityArray.cxx !ENDIF +# End Source File +# End Group +# Begin Group "Lib_Replay" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\src\Replay\replay.hxx + +!IF "$(CFG)" == "FlightGear - Win32 Release" + +# PROP Intermediate_Dir "Release\Lib_Replay" + +!ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" + +# PROP Intermediate_Dir "Debug\Lib_Replay" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\src\Replay\replay.cxx + +!IF "$(CFG)" == "FlightGear - Win32 Release" + +# PROP Intermediate_Dir "Release\Lib_Replay" + +!ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" + +# PROP Intermediate_Dir "Debug\Lib_Replay" + +!ENDIF + # End Source File # End Group # Begin Group "Lib_Scenery" @@ -9489,36 +9677,6 @@ SOURCE=.\src\Systems\vacuum.hxx # PROP Default_Filter "" # Begin Source File -SOURCE=.\src\Time\FGEventMgr.cxx - -!IF "$(CFG)" == "FlightGear - Win32 Release" - -# PROP Intermediate_Dir "Release\Lib_Time" - -!ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" - -# PROP Intermediate_Dir "Debug\Lib_Time" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\src\Time\FGEventMgr.hxx - -!IF "$(CFG)" == "FlightGear - Win32 Release" - -# PROP Intermediate_Dir "Release\Lib_Time" - -!ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" - -# PROP Intermediate_Dir "Debug\Lib_Time" - -!ENDIF - -# End Source File -# Begin Source File - SOURCE=.\src\Time\fg_timer.cxx !IF "$(CFG)" == "FlightGear - Win32 Release" @@ -9639,6 +9797,36 @@ SOURCE=.\src\Time\sunpos.hxx # End Source File # Begin Source File +SOURCE=.\src\Time\sunsolver.cxx + +!IF "$(CFG)" == "FlightGear - Win32 Release" + +# PROP Intermediate_Dir "Release\Lib_Time" + +!ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" + +# PROP Intermediate_Dir "Debug\Lib_Time" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\src\Time\sunsolver.hxx + +!IF "$(CFG)" == "FlightGear - Win32 Release" + +# PROP Intermediate_Dir "Release\Lib_Time" + +!ELSEIF "$(CFG)" == "FlightGear - Win32 Debug" + +# PROP Intermediate_Dir "Debug\Lib_Time" + +!ENDIF + +# End Source File +# Begin Source File + SOURCE=.\src\Time\tmp.cxx !IF "$(CFG)" == "FlightGear - Win32 Release" diff --git a/NEWS b/NEWS index de308505f..9833947e3 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,66 @@ +New in 0.9.3 +* October 15, 2003 + +* Added a flight "replay" system. +* Many updates to the ATC and AI aircraft subsystem. (David Luff) +* Add support for moving cloud layers. +* New "symbolic" time of day dialog box for easily setting dawn, dusk, + noon, etc. +* Aircaft are now each self contained in their own individual + subdirectories for easier end user addition and removal. +* Many improvements to scene lighting throughout the day->night range + including more realistic sky and fog colors, more relistic scene + illumination, better dusk/dawn sky coloring, better specular + lighting support. +* A nice new chase view has been added. +* Added displaced thresholds on all runways that have them. +* Updated default scenery for the KSFO area. +* Many buildings and bridges added in the San Francisco area. +* Updated airport and navaid database, many new taxiways, many + corrected runways, many new airports (especially outside the USA.) + +* Use the field elevation for GS when no specific altitude listed in + FAA/DAFIF data +* Fix to translate DME and TACAN X/Y channels to paired VHF frequencies + correctly. Thanks to Jorge Van Hemelryck for the fix. +* Fixes to runway search routines (didn't always work correctly under + some circumstances.) +* Many fixes and updates to the autopilot. Autothrottle tracks speed + much better with much less jumping around. +* Expose the tuned navid via the property system to support building + more advanced avionics. +* Improvements to the environment manager and gui's, more control over + turbulence, ability to specify boundary condition layers as well as + aloft condition layers. +* JSBSim updates including a new turbine engine model that supports + things like starting and stopping procedures and thrust reversing. +* UIUCsim updates (compiler warning and namespace conflict fixes.) +* YASim updates (fix drag from shutdown engine.) +* Support for "clock" instruments that operate independently of + computer system time. +* Annunciators shouldn't work if electrical system not serviceable. +* A few updated splash screens. +* Added various fields to net_ctrls and net_fdm to include various + failures, faults, control surface positions, and other interesting + things. +* A few updated joystick definition files. +* Various keyboard mapping tweaks and changes. +* Many updates and tweaks to default material properties and random + land cover objects. +* Updated aircraft: 747, A320, T-38, A-10, B-52, F-104, Fokker 50, + Fokker 100, Piper Cub, P-51, UFO, YF-23, Ornithopter, A-4, C172, + and F-16 +* New Aircraft: J-22, Paraglider, SGS-126 Sailplane, ASW 20, and AN-225. +* Updated cloud textures. + +* Removed dependency on Metakit. The airport and runway databases are now + stored in a simple flat file ascii database. + +* FreeBSD, Solaris, MSVC, Irix, cygwin, and mingwin fixes. + + New in 0.9.2 -* June 4, 2002 +* June 4, 2003 * New aircraft available: P51-D (w/ full 3d cockpit), Sea Hawk (WV908), a research ornithopter (propelled by actual flapping diff --git a/configure.ac b/configure.ac index bfead80f4..360401f04 100644 --- a/configure.ac +++ b/configure.ac @@ -10,7 +10,7 @@ dnl Require at least automake 2.52 AC_PREREQ(2.52) dnl Initialize the automake stuff -AM_INIT_AUTOMAKE(FlightGear, 0.9.2) +AM_INIT_AUTOMAKE(FlightGear, 0.9.3-pre1) dnl Checks for programs. AC_PROG_MAKE_SET @@ -400,7 +400,7 @@ if test "x$ac_cv_header_simgear_version_h" != "xyes"; then exit fi -AC_MSG_CHECKING([for simgear 0.3.3 or newer]) +AC_MSG_CHECKING([for simgear 0.3.4 or newer]) AC_TRY_RUN([ #include @@ -411,7 +411,7 @@ AC_TRY_RUN([ #define MIN_MAJOR 0 #define MIN_MINOR 3 -#define MIN_MICRO 3 +#define MIN_MICRO 4 int main() { int major, minor, micro; diff --git a/src/Main/main.cxx b/src/Main/main.cxx index 3088b9570..76e389489 100644 --- a/src/Main/main.cxx +++ b/src/Main/main.cxx @@ -1549,7 +1549,7 @@ bool fgMainInit( int argc, char **argv ) { fgInitFGRoot(argc, argv); // Check for the correct base package version - static char required_version[] = "0.9.2"; + static char required_version[] = "0.9.3-pre1"; string base_version = fgBasePackageVersion(); if ( !(base_version == required_version) ) { // tell the operator how to use this application