Commit Graph

132 Commits

Author SHA1 Message Date
Jake.Stine 08f3e4955b Major Savestate fix: Added version info, which never got added (oops) after I redid the savestate system for 0.9.7. Breaks all old savestates, but should be the last backward compat breakage for quite a while.
Also
 * Tons of small UI bugfixes and cosmetic improvements, mostly to startup, first-time running, and resetting options.
 * Added a third startup option for specifying a custom "default location" for PCSX2 files, in addition to user docs and CWD.

Devs:
 * Implemented some more += operators for adding wxWidgets objects to sizers (pxStretchSpacer mainly).
 * Preliminary re-implementation of memory cards panels -- still non-functional, so it's disabled.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2671 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-05 14:24:44 +00:00
arcum42 839d5b37f4 Fix back up CMake.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2599 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-17 13:40:45 +00:00
Jake.Stine 42064218ec Committing some messed up partial memorycard options panel implementation... planning to redo it but I want this on record as a backup, just in case. (all disabled, so not much to look at and nothing changed in the emu itself yet)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2543 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-31 02:21:58 +00:00
Jake.Stine 2dfad2fb24 Improved CPU usage and fps stats.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2523 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-26 13:06:53 +00:00
Jake.Stine 4383cb5b0c Added CPU and GPU load readouts (currently Win32 only). Documented possible methods for implementation in linux. (linux project files aren't updated yet, short on time -- sorry!)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2520 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-25 15:31:17 +00:00
Jake.Stine 541ef9956e Fix some excessive idle event processing introduced by my earlier log spam commit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2511 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-24 13:13:49 +00:00
Jake.Stine 6b899c9bbd More UI bugfixes and tweaks:
* Hopeful fix for GSwindow getting stuck maximized when pcsx2 crashes when fullcreen.
 * Altered RestoreDefaults behaior for EE/IOP and VU CPU panels.
 * CDVD Verbose Reads toggle takes effect immediately now.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2506 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-24 02:26:53 +00:00
Jake.Stine e747337d63 A big old crapload of UI and thread management changes. Recoded the EventSource/EventListener system to be more C++ and less hacky C. Probably breaks Linux!
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2474 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-22 15:22:01 +00:00
arcum42 b64452f074 Commit Athostr's latest patch to the cmake build support to svn. Standardizes the CMakeList files a bit, copies ps2hw.dat in to plugins, preliminary PortAudio support. Only uses the builtin SoundTouch now.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2467 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-22 04:36:49 +00:00
arcum42 cbb2000400 Commit a modified copy of the CMake files from issue 513. (Note: work in progress. Not currently for general use. Builds made using cmake are currently not supported, and unlikely to work properly.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2464 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-21 15:12:50 +00:00
Jake.Stine bee1bde1b3 More hotkey fixes
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2416 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-08 23:33:15 +00:00
Jake.Stine f293c2983b A couple dozen user interface refinements; notables:
* Implemented GS window hiding on suspend (option was there, but not tied in)
 * Added Frameskipping options
 * Added option for disabling all GS output, for benchmarking EEcore stuffs.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2409 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-04 11:51:09 +00:00
arcum42 ca02bffc6c We'll need to include signal.h if we're raising signals.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2398 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-25 18:58:25 +00:00
Jake.Stine de637fc921 Bugfix for assertion breaks not working in Devbuilds.
newVif:
 * Bugfix to HashBucket::find() cuts microprogram caches misses in half.
 * Dynarec version now uses alternating XMM registers for unmasked unpacks (very minor speedup, ~1%).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2397 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-25 18:00:51 +00:00
Jake.Stine 9473e69b7f Thread Local Storage Fixes:
* Implemented TlsVariable, a nifty alternative to __threadlocal, suitable for archaic operating systems that don't have native TLS support (namely Mac OS/X).
 * Added a forced reference to TLS in AppInit so that TLS is sure to be available to DLLs (otherwise windows doesn't init TLS by default).
 * Disabled TLS support in the x86emitter by default, since it's looking increasingly like we won't find a use for multithreading PS2 sub-components (can be re-enabled later if spontaneous brilliance at a later date proves me wrong).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2396 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-24 22:22:34 +00:00
Jake.Stine 3d9bb25505 Linux: Fix bugs in _aligned_realloc and newVif's inlined SSE HashBucket finder.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2395 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-24 10:04:03 +00:00
Jake.Stine 408dbd7256 * Call PADupdate from MTGS thread when using legacy GSopen -- Should fix Linux Pad instabilities.
* Fixed a savestate loading bug, when loading states made with different sets/versions of plugins.

DevNote:
 * Moved some old PS2E types to PS2Edefs, since the new v2 plugin API won't use them (freezeData, keyEvent).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2380 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-22 03:15:30 +00:00
Jake.Stine 500c1dbfeb Re-implemented Ping() into wxApp, this time using Idle events (for once I found a use for them!). This because the YieldToMain logic wasn't ever going to work right since wxWidgets lacks a way to poll the event loop for pending events. End result: More responsive GUI dialogs and junk. ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2376 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-21 11:52:14 +00:00
arcum42 9a972ccc02 The usual Linux stuff.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2341 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-14 13:31:50 +00:00
Jake.Stine c17455c702 User Interface code cleanups and bugfixes. some highlights:
* Configuration panels are all modal-less now, so that you can open the config panel and leave it open while running games.
 * Handful of thread sync improvements.
 * Fixed on-the-fly interpreter/recompiler configuration.
 * Fixed plugin hotswapping (mostly works, but still a little funny at times)
 * All new assertion dialogs and popup message handlers.
 * RecentIsoList defaults to 12 instead of 6

Dev Notes:
 * I had to create a new set of assertion functions called pxAssume*.  Originally I hoped to avoid that complexity, and just use a single one-assert-fits-all case, but turned out blanketly using __assume() for all assertion cases wasn't reliable.
 * wxGuiTools: Replaced the operator, with operator& -- the latter has proper order of precedence, the former required () to scope correctly. >_<

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2339 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-14 12:18:55 +00:00
arcum42 f3a2c44112 Did some work on HwWrite. Updated my structures in GS.h. Fixed some podsafe object warnings I'd missed previously.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2335 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-10 06:33:14 +00:00
Jake.Stine ba473e0a7f * Redid console logging to use stdout instead of the buffered queue (probably less buggy).
* Removed some hacks from cpuDetectInit's use of cpuId.
 * Improved assertion checking for thread affinity.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2327 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-07 22:43:16 +00:00
Jake.Stine f52faead0c Re-did the VUmicro's "Cpu Provider" structs into classes, and split sVU and mVU into independent classes.
* Better error handling for when sVU fails allocating memory at a specific location (should fail less).
 * Partial support for detecting and handling non-SSE2 machines with some grace.
 * Improved sVU's allocation chances with a second try at another randomish address (and removed alloc fail spam from the console -- only logs on complete fail now).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2321 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-07 14:00:39 +00:00
Jake.Stine 64c12f5a7a Video/GS Window and Panel Options (partly!) implemented:
* Aspect ratio and mouse cursor hiding features should be mostly functional.
 * Mouse cursor by default hides after 1.75 seconds of inactivity, when in the area of the GS window.  Can be forced to always hidden in the control panel.  Unlike the liilypad hack, this one won't hide the mouse in the main window or title bars.  (and it should work for Linux too!!)
 * GS window position and size should be remembered between sessions.

Console Logger window z-order is now "bound" to the main window.  When clicking either window to bring it to focus, the other window follows (implemented for Win32 only, since wxWidgets doesn't have a cross-platform implementation of the necessary SetWindowPos call).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2275 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-29 22:50:55 +00:00
Jake.Stine 434bb37d63 Expand the system.map symbol table string length from 32 to 64 chars (fixes debug assertion in Silent Scope 3); and other minor code comments added.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2259 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-27 06:47:32 +00:00
arcum42 2b1a9277ee Various tag stuff.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2258 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-27 05:31:32 +00:00
Jake.Stine 7e2ff95a97 Remove Windows Vista/7 SDK requirement for compiling.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2257 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-27 00:06:56 +00:00
Jake.Stine ab010e1bc9 * Fix Issue 488 - FPU Full mode was being ignored.
* Slightly smaller and brighter camera icon.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2256 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-26 13:09:23 +00:00
arcum42 bedb21f3d6 Fix up Linux again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2255 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-26 10:51:41 +00:00
Jake.Stine 474a404dfd Turn an ugly snapshot button into a pretty one!
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2254 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-26 07:01:24 +00:00
Jake.Stine 03449cf682 * Improve GUI responsiveness while doing things like enumerating/loading plugins.
* 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
2009-11-26 03:37:10 +00:00
Jake.Stine 35c78ae660 Added a "Screenshot" button to the Settings window; it saves a screenshot of the settings to png file. :) It's just preliminary for now. I'll replace it with an artsy icon later, hopefully. :)
Cleaned up the operator overloads some more, and added operator,  (yes, comma) to solve some ambiguity problems when trying to apply multiple attributes to a single window.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2252 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-25 15:38:24 +00:00
Jake.Stine cf05172691 User Interfacing:
* Added bold text to indicate default options on CPU settings panels.
 * Hitting 'Restore Defaults' activates the Apply button.
 * Fixed some missing confirmation dialog text.
 * More conversions of interface code to use the new += and | operators.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2251 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-25 03:54:57 +00:00
Jake.Stine b288e82b95 Couple more MTGS sync fixes, and some final optimizations.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2247 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-24 20:11:43 +00:00
Jake.Stine 48ca426be4 Added AtomicBitTestAndReset() to thread tools and added a Normalize helper to 'Path' namespace.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2242 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-24 08:32:39 +00:00
Jake.Stine 4828beb3c3 * Added toggles for game log output: EE StdOut, EE Deci2, and IOP StdOut. Toggles are provided via a menu in the Console Log.
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
2009-11-23 06:54:24 +00:00
arcum42 bb64ecfcf2 Attack of the non-POD type objects.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2236 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-22 10:31:36 +00:00
Jake.Stine 87b443a873 Some preliminary work for improving multithread recoverability and deadlock handling. (not really doing much useful yet)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2234 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-22 09:47:52 +00:00
Jake.Stine ae1dcb7ac6 * Fixed some bugs in the SYSTEM.CNF loader (most notably it will not crash on files over 512 bytes -- some PS2 images pad their system.cnf to 32k)
* Botting NoDisc with "Skip BIOS" enabled should work now (untested).
 * Renamed StaticText / StaticHeading helpers to simply Text and Heading.
 * Made the iR5900 recompiler's stack alignment check a dynamic toggle instead of a dev/debug build preprocessor.
 * Fix annoying linux linker errors.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2229 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-21 07:44:11 +00:00
Jake.Stine 799b89ab65 Fix broken dialog box labels from last night's commit.
Add a note to the Video Panel that it DOES NOT WORK YET. ;)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2228 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-20 11:25:48 +00:00
Jake.Stine d6f9462ffa Added some more convenience operators for wx interface construction. These are intended as a substitute for wxSizerFlags(), like so:
*target += control | wxSizerFlags().Expand().Centre()
// becomes:
*target += control | pxExpand | pxCentre;

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2227 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-20 03:26:10 +00:00
Jake.Stine 4aa0ebe892 Apply proper qualifier use for operator+= templates and their specializations.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2225 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-19 13:44:44 +00:00
Jake.Stine 4ba3fd07dc * Speedhacks master toggle saves now.
DevStuff:
 * Added a handful of operator+= overloads for working with wxSizers -- moderately reduces code clutter. :)
 * Commented some of the wxHelpers classes (pxStaticText, wxPanelWithHelpers, etc).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2221 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-19 05:08:24 +00:00
Jake.Stine 1dced84153 Linux compilation fixes and fix some signed/unsigned stuff in IsoReader.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2217 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-18 16:53:44 +00:00
Jake.Stine 4f9cd96e50 * Added a 'master' toggle to the Speedhacks panel.
* ... 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
2009-11-18 07:53:02 +00:00
Jake.Stine c942e3aaca * Implemented more support for on-the-fly CDVD source changes (not well tested, probably need work).
* Fix Reelease mode compilation errors. 
 * More misc bugfixes to the UI.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2207 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-16 17:14:10 +00:00
Jake.Stine af7bb73948 Fixed the Recent Iso List, which got broken a few revs back... and many more wee bug fixes, most are too unimportant to list here!!
Code Cleanups:
 * cpuDetect: Split Win32/Linux code portions into separate modules. (probably breaks linux)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2205 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-16 13:54:32 +00:00
Jake.Stine 0068ec9cd0 Removed NULL-able DoWrite/DoWriteLn in IConsoleWriter (threaded logging crashed when changing writers on the fly).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2200 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-16 03:23:59 +00:00
Jake.Stine dd0b49e80d Lots of wee bugfixes to user interface stuffs
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2199 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-16 00:40:09 +00:00
Jake.Stine a4baab103f Mode console logging updates and additions;
* 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
2009-11-15 06:26:55 +00:00