Commit Graph

282 Commits

Author SHA1 Message Date
Jake.Stine 8d91458c95 Win32: Added stdout and stderr pipe support for the ConsoleLogger; such that plugins using printf or fprintf will have their messages show up in the new-style console log and in the emuLog.txt file.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1897 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-21 03:33:35 +00:00
Jake.Stine 0f259e62d5 Implemented keyboard accelerator tables and a hashed global command table (should be ideal for eventual GUI extensions via plugin, and toolbars and other fanciness). Removed Pause menu and replaced it with a Suspend/Resume menu. Closing GS window behaves more nicely.
Projects: Removed FrameworkVersion descriptor, don't think it matters for C++ code.  Removed all translation files, since they're grossly out-dated and need to be remade anyway.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1894 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-20 20:54:45 +00:00
Jake.Stine 3ccb4d3698 Re-re-re-re-fixed the BIOS skip hack saving on exit (plus lots of code cleanups and some API changes to saving/loading settings -- more to come).
Linux/GCC: Disabled __forceinlining in debug builds.  This is the intended design, fixes many GCC errors in debug builds, and also mimics MSVC behavior.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1854 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 14:07:36 +00:00
Jake.Stine e5da378d9a Added a GSopen2 call to the GS plugin API, which is used by PCSX2 to specify its own window handle.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1840 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-17 07:31:57 +00:00
Jake.Stine 19310cef03 Re-fix win32 builds. Stupid C++ templated class inheritance fail.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1839 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-17 05:24:47 +00:00
Jake.Stine a2d4144ce9 Linux: Fix some of the standard issue compiler errors that come with any changes. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1836 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-17 02:12:32 +00:00
Jake.Stine c9c924fe35 Yay, craploads of fixups for the new gui:
* Lots of crashfixes and threading rules compliance (like using wxYield instead of ProcessPendingEvents)
 * Killed off some memory corruption
 * Better error handling and reporting
 * Much speedier suspend/resume during emulation
 * Revamped entire savestate system to use a RIFF-style file format (untested, will work on it soon)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1832 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-16 17:23:02 +00:00
Jake.Stine de0442321f Linux: Fixed compiler errors from my prev commit, along with a few verbose warnings and a compile error in SPU2-X. (note, moved Linux's define of SVN_REV macro to PrecompiledHeader.h for now, until a proper solution is implemented)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1819 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-13 20:56:22 +00:00
Jake.Stine 4fbc2c26aa Fixed a bug in BiosTools.cpp that caused Bios-Not-Found errors.
MemoryCard / Multitap Renovations:
 * Memorycards should now support multitap (somewhat untested)
 * Implemented a memorycard plugin interface, using the new API defined in PluginCallbacks.h (still prelim and hackish)
 * Memorycard settings are saved to ini!
 * Multitap is now controlled by PCSX2 instead of the pad plugin (which means no multitap until we implement the gui toggles to enable it)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1817 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-13 17:11:35 +00:00
Jake.Stine b638f52809 Re-ordered the MSVC folder structure to split PCSX2 into two definitive sections: [App]Host and [Emu]Core (the bracketed names indicate the "long" versions which are generally used in the code to differentiate the functions and classes). If the tentative layout is good then I'll sort the files on SVN to match that layout.
(note: Patch.cpp/Patch.h is still the odd child out in this commit, as it's destiny is to become a plugin)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1804 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-12 02:58:22 +00:00
Jake.Stine 76045a4722 Cleaned up Path namespace and moved it and wxDirName to /common/Utilities.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1803 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-12 01:03:44 +00:00
Jake.Stine 7f0039d646 Two more lockup fixes, and changing plugins takes effect without restarting now. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1801 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-09 16:52:11 +00:00
Jake.Stine d2fbb22076 Upgraded PCSX2 core and utilities to GPLv3.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1783 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-08 12:08:10 +00:00
Jake.Stine 3b10771c36 Got rid of that old 'params' mess on console logs. Not needed anymore since wxwidgets has nicer built in formatting options (never liked it anyway)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1782 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-08 05:37:40 +00:00
Jake.Stine 50446e6930 * Added preliminary keyboard support back in (probably doesn't compile in linux)
* Fixed a deadlock in thread cancellation.
 * Muted some folder warnings when running pcsx2 for the first time.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1778 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-07 21:16:12 +00:00
Jake.Stine 9308d86ffc wxgui: Runs games. 'nuff said.
* Fixed some deadlock conditions by adding a message pump to semaphore waits ont he main/gui thread.
 * Many more config and init bugfixes.
 * Implemented most of the new Boot menu.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1745 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-05 23:07:23 +00:00
Jake.Stine 64e43a9086 wxgui:
* Fixed thread classing so that detached pthreeads are handled safely, and so that virtual functions in C++ destructors are explicitly specified.
 * Added some helper functions to Pcsx2App for safely executing menu commands form any thread in the emu.
 * Fixed several minor bugs in settings / config handling.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1730 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-03 11:59:05 +00:00
Jake.Stine 25a31e3a03 wxgui: retooled exception handling, should eliminate warnings in GCC and remove previous initialization ambiguities. (ended up being a nice code cleanup too, yay)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1720 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-01 00:43:28 +00:00
Jake.Stine 980afabc30 wxgui:
* Moved some files around in an attempt to improve CoreEmu and UI separation.
 * Major upgrade to the UI's handling of savestates
 * Maintenance work to the C++ exception handling
 * Some improved error handling and message popups here or there

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1714 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-31 03:47:05 +00:00
Jake.Stine 9303bc5bf2 wxgui: Prepped the R5900 recompiler for the new wxWidgets-enhanced dedicated emulation thread design, and removed the old boolean-based re-entrant event checking mess.
Note: Nearly have a successfully booting branch! (bios crashes when it reaches CDVD api callbacks, should be a simple fix but it'll have to wait until later >_<)

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1680 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-25 15:38:48 +00:00
Jake.Stine db3e81504e wxgui: The Linux side compiles and runs again. Note: Removed "Open in Explorer" buttons for folders since there seems no reliable way to do that in Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1661 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-20 23:05:26 +00:00
Jake.Stine 4b320294fc wxgui: Fixed most of the trivial bugs from the prev commit.
* Removed NoncopyableObject class and replaced it with a DeclareNoncopyableObject() macro -- which reports saner C++ compilation errors when the object copy is attempted.
 * Improved first run wizard and several configuration panels.
 * Moved the BIOS selector to its own menu item and dialog box, separate of the Settings panel.
 * Fixed various bugs preventing configuration changes from being saved.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1658 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-20 14:34:48 +00:00
Jake.Stine 3c4b1afb49 wxgui: All kinds of mess, but still not up to running games yet.
* Borrowed wxScopedPtr from wxWidgets 2.9
 * Fixed up first-time startup procedures and folder selection
 * Implemented most of the rest of the missing configuration options, and cleaned up some ambiguities regarding bool types and bitfields.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1649 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-18 19:47:00 +00:00
Jake.Stine c415d8d694 wxgui:
* Major cleanups and improvements to the Threading namespace.
 * Created CoreEmuThread class framework, which currently runs the EEcore, IOP, and VUs with threadsafe suspension, reset, and resume features.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1624 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-15 06:17:43 +00:00
Jake.Stine 3751c928d3 wxgui: synced with trunk (to acquire new CDVD/ISO api)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1558 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-23 14:58:17 +00:00
Jake.Stine ccdb5d84b9 wxgui: Optimizations and improvements to the console logger's threading model.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1535 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-17 03:43:45 +00:00
Jake.Stine 657660371c wxgui: Fixed crash-on-exit problem in Release builds and made the console logger thread-safe (uses messages instead of direct wxFrame method invocations).
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1529 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-16 09:58:17 +00:00
Jake.Stine 8505e4a7e7 wxgui: Added plugin selection dialog (complete with plugin enumeration and an exceedingly fancy progress bar), fixed some menus, added isofile recent lists, and lots more stuff is correctly saved and loaded from the configuration file.
* Dev note: Re-enabled USE_STL in wxWidgets since that's required to ensure thread safety.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1505 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-14 06:18:52 +00:00
Jake.Stine 3c195e9f9a wxgui: more of the slowly progressing.
* Implemented internationalization (i18n) framework.
 * Made a pretty configuration dialog box!
 * Many minor bugfixes.
 * Removed most of the old Win32 and Linux/GTK gui code because it was causing gettext cataloging to grab about 500 non-relevant strings (can always reference trunk for them anyway).

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1484 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-11 08:31:38 +00:00
Jake.Stine fb6a8939b0 wxgui: Moved some more files around in Common/Utilities, and merged against trunk.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1460 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-03 20:48:11 +00:00
Jake.Stine aceefaf812 wxGui branch: [linux] Updated projects, added Utilities and x86emitter libraries.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1459 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-03 20:12:33 +00:00
Jake.Stine da691894c3 wxgui branch: Maintenance merge against trunk, plus many cleanups and project-level changes.
* Moved the x86 emitter to /common, so that plugins can link against it if they wish.
 * Created a new "utility" class in /common which houses string utils, fast memcpy, common exception classes, and other handy dandies.
 * Removed old-style linux automake files from the pcsx2 dir since they were hopelessly out of date (and their multi-file-per-line format makes svn merging impossible >_<)

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1454 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-03 00:49:40 +00:00