* ConsoleLogger Optimization: Improved performance considerably for when the log gets spammed by EEcore or MTGS threads.
DevNotes:
* Added a new pxYieldToMain() method (currently implemented in Win32 only). It provides a smart way to allow passive-task worker threads to yield time to the Main Thread when important messages are pending (keyboard or mouse clicks, primarily). It also replaces the wxGetApp().Ping() stuff, which never worked anyway due to wxCommandEvents having a higher priority than native system messages.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2253 96395faa-99c1-11dd-bbfe-3dabce05a288
Dev notes:
* Renamed MtgsthreadObject to SysMtgsThread (matches naming pattern of other thread classes).
* Added accessors for GetMtgs() and GetCoreThread() [rationale for them documented in source comments]
* Removed wxHelpers namespace since we're using px name prefix instead for most stuff.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2238 96395faa-99c1-11dd-bbfe-3dabce05a288
* ... more WIP stuff on the Video options panel.
* Spent 12 hrs working on crap text wrapping and window sizing issues.
* Moved several UI classes to utilities (lots of project changes, breaks linux)
* Fixed stilly bug in SPU2-X that prevented it from working (at all).
* Lots of code cleanups, and 1 or 2 bugfixes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2212 96395faa-99c1-11dd-bbfe-3dabce05a288
* Added support for indentation, as a replacement for using \t (options include methods SetIndent and Indent, and a ConsoleIndentScope class for scoped indentation of a block of WriteLns.)
* Use of Indent() as a modifier (the abstraction optionally allows use of indentation methods besides \t, if ever needed).
* Minor header file cleanups: wxWidgets standard headers are now always first in PrecompiledHeader.h files (is recommended due to cross platform setup code by wx).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2198 96395faa-99c1-11dd-bbfe-3dabce05a288
(also includes some header file prepwork for my next wxWidgets windows.h commit fix)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2069 96395faa-99c1-11dd-bbfe-3dabce05a288
* Exception/Signal handling now uses an EventSource, so that multiple handlers can be registered. This is in preparation for (eventual) more complete MIPS TLB support in the VTLB memory model.
* Improved code isolation, so that recompiler-specific code is primarily in iR5900-32.cpp (cleans up Counters.cpp and SysCoreThread.cpp)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2063 96395faa-99c1-11dd-bbfe-3dabce05a288
* Added -fno-strict-aliasing to the ever growing list of gcc optimizations that can potentially cause perfectly good C code to generate entirely broken results.
* Removed the preferred-stack=2, since this branch *should* run fine without it now.
* Have Release builds in Linux SIGKILL when encountering an unexpected SIGSEGV.
* Fixed some deadlock issues with the new console logger (it introduced cancel points, which is a good thing! unless you're the EE recompiler and you swallow up any attempt by GCC to cancel a thread)
* Compilation error fixes.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/aligned_stack@2049 96395faa-99c1-11dd-bbfe-3dabce05a288
* Added TimedLock to MutexLock
* Use MutexLock::TimedLock as a replacement for some sloppy semaphore use in SysCoreThread and PersistentThread.
* Minor fixes to thread cleanup when exiting the App
* Added some extra deadlock protection to the blocking Wait and Lock functions for Mutexes and Semaphores.
* Moved MutexLock and Semaphore implementations into their own files.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2022 96395faa-99c1-11dd-bbfe-3dabce05a288
* 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
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
(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
* 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
* 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
* Mostly finalized the i18n system.
* fully implemented the speedhacks dialog.
* improved the wxHelpers quite a lot.
* added a new gamefixes icon as put together by gigaherz.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1554 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