PCSX2 Documentation/The PCSX2 Program Flow: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
''The following article is a very general overview of the flow of the PCSX2 application.'' | ''The following article is a very general overview of the flow of the PCSX2 application.'' | ||
==AppMain.cpp - this is where the fun begins!== | |||
There is a lot that happens under the hood with wxWidgets. We don't need to worry about that. All we need to worry about is this this line of code in [https://github.com/PCSX2/pcsx2/blob/master/pcsx2/gui/AppMain.cpp AppMain.cpp]. | There is a lot that happens under the hood with wxWidgets. We don't need to worry about that. All we need to worry about is this this line of code in [https://github.com/PCSX2/pcsx2/blob/master/pcsx2/gui/AppMain.cpp AppMain.cpp]. | ||
<source lang="cpp">IMPLEMENT_APP(Pcsx2App)</source> | <source lang="cpp">IMPLEMENT_APP(Pcsx2App)</source> | ||
This macro tells the wxWidgets framework that we want to fire up Pcsx2App. Easy, right? | This macro tells the wxWidgets framework that we want to fire up Pcsx2App. Easy, right? | ||
==Pcsx2App - the part we care about== | |||
So where does Pcsx2App live? Well, the declarations are in the header file [https://github.com/PCSX2/pcsx2/blob/master/pcsx2/gui/App.h App.h] and the definitions are in a few different files. But let's first take a look at the header file. | So where does Pcsx2App live? Well, the declarations are in the header file [https://github.com/PCSX2/pcsx2/blob/master/pcsx2/gui/App.h App.h] and the definitions are in a few different files. But let's first take a look at the header file. | ||
<source lang=cpp> | <source lang=cpp> | ||
Line 13: | Line 13: | ||
} | } | ||
</source> | </source> | ||
You can see here that the Pcsx2App class is an extension of the wxAppWithHelpers class. Pcsx2App contains methods that wxWidgets is going to call upon at various times. So what gets called when we fire up Pcsx2App? Why that would be the OnInit() method which is defined in [https://github.com/PCSX2/pcsx2/blob/master/pcsx2/gui/AppInit.cpp AppInit.cpp]. | You can see here that the Pcsx2App class is an extension of the wxAppWithHelpers class. WxWidgets applications are Pcsx2App contains methods that wxWidgets is going to call upon at various times. So what gets called when we fire up Pcsx2App? Why that would be the OnInit() method which is defined in [https://github.com/PCSX2/pcsx2/blob/master/pcsx2/gui/AppInit.cpp AppInit.cpp]. There's all kinds of crazy stuff happening here, but what we really care about is this line: | ||
<source lang=cpp> | <source lang="cpp"> | ||
if( m_UseGUI ) OpenMainFrame(); | |||
</source> | </source> | ||
In |
Revision as of 20:40, 25 February 2015
The following article is a very general overview of the flow of the PCSX2 application.
AppMain.cpp - this is where the fun begins!
There is a lot that happens under the hood with wxWidgets. We don't need to worry about that. All we need to worry about is this this line of code in AppMain.cpp. <source lang="cpp">IMPLEMENT_APP(Pcsx2App)</source> This macro tells the wxWidgets framework that we want to fire up Pcsx2App. Easy, right?
Pcsx2App - the part we care about
So where does Pcsx2App live? Well, the declarations are in the header file App.h and the definitions are in a few different files. But let's first take a look at the header file. <source lang=cpp> class Pcsx2App : public wxAppWithHelpers{ ... } </source> You can see here that the Pcsx2App class is an extension of the wxAppWithHelpers class. WxWidgets applications are Pcsx2App contains methods that wxWidgets is going to call upon at various times. So what gets called when we fire up Pcsx2App? Why that would be the OnInit() method which is defined in AppInit.cpp. There's all kinds of crazy stuff happening here, but what we really care about is this line: <source lang="cpp"> if( m_UseGUI ) OpenMainFrame(); </source> In