]> Shamusworld >> Repos - virtualjaguar/blobdiff - src/gui/app.cpp
Small fix to allow app.cpp to compile on win32.
[virtualjaguar] / src / gui / app.cpp
index 9a2cdbfaddba548b5fef72f0fa73a35275ac319d..bb0f9243bf7e7f5471d2d446e26d4a69cf4913a4 100644 (file)
@@ -9,14 +9,20 @@
 // Who  When        What
 // ---  ----------  -------------------------------------------------------------
 // JLH  12/23/2009  Created this file
+// JLH  01/21/2011  Added SDL initialization
 //
 
 #include "app.h"
 
+#include <SDL.h>
 #include <QApplication>
+#include "log.h"
 #include "mainwin.h"
 #include "types.h"
 
+// Apparently on other archs, SDL is hijacking main, so let's do this:
+#undef main
+
 // Here's the main application loop--short and simple...
 int main(int argc, char * argv[])
 {
@@ -31,14 +37,28 @@ int main(int argc, char * argv[])
                }
        }
 
-       Q_INIT_RESOURCE(vj);    // This must the same name as the exe filename
+       Q_INIT_RESOURCE(virtualjaguar); // This must the same name as the exe filename
 //or is it the .qrc filename???
        // This is so we can pass this stuff using signal/slot mechanism...
 //ick  int id = qRegisterMetaType<uint32>();
 
-       App app(argc, argv);                                            // Declare an instance of the application
+       LogInit("virtualjaguar.log");                           // Init logfile
+       int retVal = -1;                                                        // Default is failure
+
+       // Set up SDL library
+       if (SDL_Init(SDL_INIT_JOYSTICK | SDL_INIT_AUDIO) < 0)
+       {
+               WriteLog("VJ: Could not initialize the SDL library: %s\n", SDL_GetError());
+       }
+       else
+       {
+               WriteLog("VJ: SDL (joystick, audio) successfully initialized.\n");
+               App app(argc, argv);                                    // Declare an instance of the application
+               retVal = app.exec();                                    // And run it!
+       }
 
-       return app.exec();                                                      // And run it!
+       LogDone();                                                                      // Close logfile
+       return retVal;
 }
 
 // Main app constructor--we stick globally accessible stuff here...