]> git.mxchange.org Git - flightgear.git/commitdiff
Some Mac / __APPLE___ cleanups:
authorehofman <ehofman>
Fri, 25 Jul 2008 08:39:28 +0000 (08:39 +0000)
committerehofman <ehofman>
Fri, 25 Jul 2008 08:39:28 +0000 (08:39 +0000)
    - remove the OSX_BUNDLE crap *I* introduced years ago - we're always a a bun
dle on Mac now.

    - fix up the default fg-root on Mac to be FlightGear.app/Contents/Resources/
data - i.e the location used by the macflightgear.org distro, and indeed the obv
ious 'correct' location. Not sure why I didn't use that in the first place, back
 in the day.

    - remove the CPSForegroundEnable hack. For one thing, we're a bundle and don
't need it, and for another, osgViewer on Mac does the same logic using a newer,
 public API rather than a hack into the OS.

    - remove the strange logic for doing fgOSInit 'early' (in bootstrap rather t
han main) when running from the command line on Mac; again this is obsolete, and
 no one seems to know why it was ever necessary. I guess it was an interaction w
ith SDL when running without a bundle.

    - (not Mac related) remove obsolete code bracketed by ENABLE_PLIB_JOYSTICK a
nd USE_GLIDE (neither of which are ever set, even from config.h that I can see)
in main.cxx

src/Main/bootstrap.cxx
src/Main/fg_init.cxx
src/Main/main.cxx

index 89354c8f3c2313793b8c53795bc0e4ce44848777..f82b641433b6816f650fab44cbcb9ab2dc3a4fae 100644 (file)
@@ -88,25 +88,6 @@ handleFPE (int num)
 }
 #endif
 
-#ifdef __APPLE__
-
-typedef struct
-{
-  int  lo;
-  int  hi;
-} PSN;
-
-extern "C" {
-  short CPSGetCurrentProcess(PSN *psn);
-  short CPSSetProcessName (PSN *psn, char *processname);
-  short CPSEnableForegroundOperation(PSN *psn, int _arg2, int _arg3, int _arg4, int _arg5);
-  short CPSSetFrontProcess(PSN *psn);
-};
-
-#define CPSEnableFG(psn) CPSEnableForegroundOperation(psn,0x03,0x3C,0x2C,0x1103)
-
-#endif
-
 #ifdef _MSC_VER
 int main ( int argc, char **argv );
 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
@@ -194,21 +175,6 @@ int main ( int argc, char **argv ) {
     _control87(MCW_EM, MCW_EM);  /* defined in float.h */
 #endif
 
-    // Keyboard focus hack
-#if defined(__APPLE__) && !defined(OSX_BUNDLE)
-    {
-      PSN psn;
-
-      fgOSInit (&argc, argv);
-      _bootstrap_OSInit++;
-
-      CPSGetCurrentProcess(&psn);
-      CPSSetProcessName(&psn, "FlightGear");
-      CPSEnableFG(&psn);
-      CPSSetFrontProcess(&psn);
-    }
-#endif
-
     // FIXME: add other, more specific
     // exceptions.
     try {
index be441417b211cec459b853e9fe0f9c3fd6d18084..fdac2e8006e7e8e6ce5360e270b6a62cc52927e1 100644 (file)
@@ -270,25 +270,21 @@ bool fgInitFGRoot ( int argc, char **argv ) {
         root = "/FlightGear";
 #elif defined( WIN32 )
         root = "\\FlightGear";
-#elif defined(OSX_BUNDLE
-        /* the following code looks for the base package directly inside
-            the application bundle. This can be changed fairly easily by
-            fiddling with the code below. And yes, I know it's ugly and verbose.
+#elif defined(__APPLE__
+        /*
+        The following code looks for the base package inside the application 
+        bundle, in the standard Contents/Resources location. 
         */
-        CFBundleRef appBundle = CFBundleGetMainBundle();
-        CFURLRef appUrl = CFBundleCopyBundleURL(appBundle);
-        CFRelease(appBundle);
+        CFURLRef resourcesUrl = CFBundleCopyResourcesDirectoryURL(CFBundleGetMainBundle());
 
-        // look for a 'data' subdir directly inside the bundle : is there
-        // a better place? maybe in Resources? I don't know ...
-        CFURLRef dataDir = CFURLCreateCopyAppendingPathComponent(NULL, appUrl, CFSTR("data"), true);
+        // look for a 'data' subdir
+        CFURLRef dataDir = CFURLCreateCopyAppendingPathComponent(NULL, resourcesUrl, CFSTR("data"), true);
 
         // now convert down to a path, and the a c-string
         CFStringRef path = CFURLCopyFileSystemPath(dataDir, kCFURLPOSIXPathStyle);
         root = CFStringGetCStringPtr(path, CFStringGetSystemEncoding());
 
-        // tidy up.
-        CFRelease(appBundle);
+        CFRelease(resourcesUrl);
         CFRelease(dataDir);
         CFRelease(path);
 #else
index 90d96b4e34d35ed854f08778e38d0ade13f3db47..ba2483da0b413d7393f28c4d1ad103c12c5c6156 100644 (file)
@@ -340,14 +340,6 @@ static void fgMainLoop( void ) {
     SG_LOG( SG_ALL, SG_DEBUG, "Running Main Loop");
     SG_LOG( SG_ALL, SG_DEBUG, "======= ==== ====");
 
-#if defined( ENABLE_PLIB_JOYSTICK )
-    // Read joystick and update control settings
-    // if ( fgGetString("/sim/control-mode") == "joystick" )
-    // {
-    //    fgJoystickRead();
-    // }
-#endif
-
     // Fix elevation.  I'm just sticking this here for now, it should
     // probably move eventually
 
@@ -879,16 +871,6 @@ static void fgIdleFunction ( void ) {
             system ( command.c_str() );
         }
 #endif
-
-        // These are a few miscellaneous things that aren't really
-        // "subsystems" but still need to be initialized.
-
-#ifdef USE_GLIDE
-        if ( strstr ( general.get_glRenderer(), "Glide" ) ) {
-            grTexLodBiasValue ( GR_TMU0, 1.0 ) ;
-        }
-#endif
-
         // This is the top level init routine which calls all the
         // other subsystem initialization routines.  If you are adding
         // a subsystem to flightgear, its initialization call should be
@@ -1011,13 +993,8 @@ bool fgMainInit( int argc, char **argv ) {
     }
 
     // Initialize the Window/Graphics environment.
-#if !defined(__APPLE__) || defined(OSX_BUNDLE)
-    // Mac OS X command line ("non-bundle") applications call this
-    // from main(), in bootstrap.cxx.  Andy doesn't know why, someone
-    // feel free to add comments...
     fgOSInit(&argc, argv);
     _bootstrap_OSInit++;
-#endif
 
     fgRegisterWindowResizeHandler( &FGRenderer::resize );
     fgRegisterIdleHandler( &fgIdleFunction );