* Re-enabled function-level linking in the shared properties sheets (applies to debug and devel builds, and is ignored in release builds). Can't remember why it got disabled in the first place, but whatever errors it was causing seem to be gone now.
* Removed the wxWidgets 2.9/3.0 copy of wxScopedPtr (wx/scopedptr.h), since we have a new superior implementation of our own.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1949 96395faa-99c1-11dd-bbfe-3dabce05a288
* Potential Bugfix: Core1's DMA IRQ trigger was being ignored in some instances; might fix some hangs.
* Major code cleanups, using C++ structure member methods and functions.
* Improved gui / plugin api / core emulation code separation -- hoping to switch to wxWidgets eventually.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1930 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
* Implemented a combination static link and dynamic link system; threads still benefit from DLL-level thread management, but speed-critical actions (semaphore and mutex locks) can now inline their "accelerated" interlocks properly. Should be a nice speedup.
* Implemented a highly optimized pthread_testcancel(), that typically performs its test in a single cycle. :)
* Disabled static mutexes. They aren't needed in C++ code, and reduce mutex locking overhead nicely.
* Use intrin.h for Interlocked functions, instead of pthreads' built in ones.
* Reverted my previous commit, since TLS isn't safe in DLLs. (oops!)
* Disabled pthread_spin API, it's not entirely cross-platform and shouldn't be used anyway (bad threading model for modern computing)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1925 96395faa-99c1-11dd-bbfe-3dabce05a288
Currently anything below deadzone is mapped to 0. deadzone and above are mapped as if the control's true zero is 0 and 1/sensitivity is fully down (As opposed to deadzone being zero). May change in the future.
Modified precompiled header to fix no-CRT build.
List of bindings noew automatically jumps to new bindings.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1914 96395faa-99c1-11dd-bbfe-3dabce05a288
Just changed the config dialog a bit to prevent performance seeking users from disabling timestretching (and then posting threads about bad sound :p ).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1909 96395faa-99c1-11dd-bbfe-3dabce05a288
Also added suggested interface for plugins for whenever the plugin apis are updated.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1907 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
Dev Note: EmuConfig is now *const*, and can *only* be modified by a call to ApplySettings(), which itself cannot be called from its own thread. This protects against accidental thread-unsafe on-the-fly settings changes. Amazingly we had only one such settings change in the existing trunk. I fixed it ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1903 96395faa-99c1-11dd-bbfe-3dabce05a288
* handful of minor code cleanups, and some warning removals for ICC.
* replaced the dualshock.png with a dualshock.jpg (120k smaller!)
* Updated the About Box, and added Zeydlitz / ZZogl to the plugin author credits.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1902 96395faa-99c1-11dd-bbfe-3dabce05a288
New method of ensuring thread safety. Device update code should always run in GS thread, even if the emulator really doesn't want to let me (Basically ancient versions of Pcsx2...Or any 3rd party emulators with their own version of MTGS). Updates on PADpoll, PADkeyEvent, or PADupdate, if one is called in the right thread. Updates in thread's WndProc otherwise. Overkill, perhaps, but I prefer to keep things compatible.
Removed "Update in GS thread" option.
Windows Messaging/Raw Input keyboard event queuing should work a little better.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1896 96395faa-99c1-11dd-bbfe-3dabce05a288