* Completely new assertion macros: pxAssert, pxAssertMsg, and pxFail, pxAssertDev (both which default to using a message). These replace *all* wxASSERT, DevAssert, and jASSUME varieties of macros. New macros borrow the best of all assertion worlds: MSVCRT, wxASSERT, and AtlAssume. :)
* Rewrote the Console namespace as a structure called IConsoleWriter, and created several varieties of ConsoleWriters for handling different states of log and console availability (should help reduce overhead of console logging nicely).
* More improvements to the PersistentThread model, using safely interlocked "Do*" style callbacks for starting and cleaning up threads.
* Fixed console logs so that they're readable in Win32 notepad again (the log writer adds CRs to naked LFs).
* Added AppInit.cpp -- contains constructor, destructor, OnInit, and command line parsing mess.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1950 96395faa-99c1-11dd-bbfe-3dabce05a288
* Rewrote Savestate code, fixed lots of stuff in PersistentThread, and renamed most "Emu"s to "Sys".
* Removed wxScopedPtr and whipped up our own ScopedPtr that doesn't use boost's fail-style function names (and made it more thread-safe).
* Handling exceptions across threads: Added Clone() and Rethrow() methods to BaseException, and added a Rethrow() to PersistentThread.
* Go rid of AppInvoke macros (those were nasty!)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1929 96395faa-99c1-11dd-bbfe-3dabce05a288
PCSX2/Win32:
* Assigned names to the threads so that they show up nicely in the debugger.
* Added more error checking in the new stdout/stderr PipeRedirection code, hopefully fixing Issue 422 (but can't reproduce the error here to be sure).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1904 96395faa-99c1-11dd-bbfe-3dabce05a288
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
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
* 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
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
(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
* Fixed a bug in how I was (not) handling pthreads return codes. It's errno you need to check, *not* the function's return value. ;)
* Changed MTGS over to use the pthread_cleanup api.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1779 96395faa-99c1-11dd-bbfe-3dabce05a288
* 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
* 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
* 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
* 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
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
* 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
* 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
* 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