2 // app.cpp - Qt-based GUI for Virtual Jaguar
5 // (C) 2010 Underground Software
7 // JLH = James L. Hammons <jlhamm@acm.org>
10 // --- ---------- -------------------------------------------------------------
11 // JLH 12/23/2009 Created this file
12 // JLH 01/21/2011 Added SDL initialization
13 // JLH 06/26/2011 Added fix to keep SDL from hijacking main() on win32
19 #include <QApplication>
25 // Apparently on win32, SDL is hijacking main from Qt. So let's do this:
29 // Here's the main application loop--short and simple...
30 int main(int argc, char * argv[])
34 if ((strcmp(argv[1], "--help") == 0) || (strcmp(argv[1], "-h") == 0)
35 || (strcmp(argv[1], "-?") == 0))
37 printf("Virtual Jaguar 2.0.0 help\n");
39 printf("Command line interface is non-functional ATM, but may return if there is\n"
40 "enough demand for it. :-)\n");
45 Q_INIT_RESOURCE(virtualjaguar); // This must the same name as the exe filename
46 //or is it the .qrc filename???
47 // This is so we can pass this stuff using signal/slot mechanism...
48 //ick int id = qRegisterMetaType<uint32>();
50 LogInit("virtualjaguar.log"); // Init logfile
51 int retVal = -1; // Default is failure
54 if (SDL_Init(SDL_INIT_JOYSTICK | SDL_INIT_AUDIO) < 0)
56 WriteLog("VJ: Could not initialize the SDL library: %s\n", SDL_GetError());
60 WriteLog("VJ: SDL (joystick, audio) successfully initialized.\n");
61 App app(argc, argv); // Declare an instance of the application
62 retVal = app.exec(); // And run it!
64 // Free SDL components last...!
65 SDL_QuitSubSystem(SDL_INIT_JOYSTICK | SDL_INIT_AUDIO);
69 LogDone(); // Close logfile
73 // Main app constructor--we stick globally accessible stuff here...
75 App::App(int argc, char * argv[]): QApplication(argc, argv)
77 mainWindow = new MainWin();