PCSX2 Documentation/WxWidgets Coding Strategies: Difference between revisions
PCSX2 Documentation/WxWidgets Coding Strategies (view source)
Revision as of 23:32, 8 January 2015
, 8 January 2015→Maintain 'Emulation Core' and 'User Interface' Separation
Line 45: | Line 45: | ||
As of the writing of this doc, this topic is still a work-in-progress on the wx branch, meaning that there are still a few spots in the Emulation Core code that make direct references to the gui. These spots willhopefully get resolved in the near future. | As of the writing of this doc, this topic is still a work-in-progress on the wx branch, meaning that there are still a few spots in the Emulation Core code that make direct references to the gui. These spots willhopefully get resolved in the near future. | ||
The principle ideal here is to allow the PCSX2 core libraries (the virtual machine) to be used from 3rd party user interfaces. By that I | The principle ideal here is to allow the PCSX2 core libraries (the virtual machine) to be used from 3rd party user interfaces. By that I ''do not'' mean abstracting the entire core to use a plugin API. The abstraction is meant to be from the standpoint of static linking only, without any complicated DLL mnemonics. If a DLL interface is provided in the future, it will be done using a separate project that provides a DLL interface layer to the static PCSX2 core static library. That is, the goal here is not to complicate code, but rather to simplify it and reduce inter-dependent clutter that can wreak havoc on thread safety and also makes future improvements and upgrades more difficult. | ||
Currently however there is no distinct separation between the emulation core and the wx-based GUI, since there are still several intertwined dependencies that still need to be dealt with in a nice manner. | Currently however there is no distinct separation between the emulation core and the wx-based GUI, since there are still several intertwined dependencies that still need to be dealt with in a nice manner. |