Commit Graph

306 Commits

Author SHA1 Message Date
Jake.Stine 5ad95b28eb UI:
* Fix for Issue 780 (missing uppercase iso extensions in the Open File Dialog).
 * A few minor threading fixes for the GameDB loader to avoid crashes/hangs when closing the emulator immediately as it opens.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3350 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-30 03:21:59 +00:00
Jake.Stine 1c7fc3e176 Mostly-new host exception system (host meaning the C++ / SEH exceptions, not the VM's PS2/MIPS exceptions). Main purpose is to make specifying diagnostic and end-user messages more sane. Secondary goal was to remove the need for C++ multiple and virtual inheritance, which are buggy in MSVC still, and problematic even when they aren't buggy.
I also re-implemented R5900 runtime exception handling for TLB Miss and such (devbuilds only, for now).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3335 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-28 18:03:54 +00:00
Jake.Stine f3b7c09851 ... not sure how I missed committing this last night. >_< (fixes compilation errors)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3333 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-28 10:21:04 +00:00
Jake.Stine 2200a79979 Re-re-re-fix linux/gcc >_< (all that was actually missing was a 'struct' keyword .. grr msvc being smart and auto-deducing the type for me)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3304 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-25 15:26:51 +00:00
arcum42 334eab37c5 Get Linux to compile again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3303 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-25 12:17:29 +00:00
Jake.Stine e145f9dd67 Refactoring: Split FixedPointTypes.h into an h/inl setup.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3302 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-25 11:12:24 +00:00
arcum42 26c497ceea pcsx2: Added back a few headers. A non POD-safe argument was fixed. Commented out some unused variables. And added a few helper functions for later.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3300 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-25 09:18:14 +00:00
Jake.Stine e96dbe443f Major header file house cleaning! Should speed up recompilation times by a few percents.
Linux note: There's a chance as usual that this might break something in Linux because Linux and Windows STL headers have different dependencies.  Namely <algorithm> might still be needed in on some of the PrecompiledHeaders.  If so, just re-add it and commit, and make a note:  // yes GCC really needs this one :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3295 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-25 02:35:27 +00:00
Jake.Stine 976cb072a0 UI:
* Fix for random crashes when recording movies (F12).  It still doesn't seem 100% stable, but it's a heckuva lot better than before.
 * Log options dialog behavior bugfixes.
 * Cleaned out some old hacks for handling hotkeys from the GS window, and implemented proper use of GSwindow-local hotkey mappings vs. global hotket mappings.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3292 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-24 20:30:36 +00:00
Jake.Stine 24ae022a74 Fully implement hash-based database lookup. Fix some bugs that caused startup crashes in previous revisions of mine.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3273 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-22 18:57:48 +00:00
arcum42 d1818a3400 Fix Linux compilation. (Possibly Windows as well...)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3267 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-22 10:58:34 +00:00
Jake.Stine 0941434749 * Fixed fullscreen default-to-on behavior; the bug was caused by wxWidgets being a bit ficle and expecting the window to be Shown prior to being made fullscreen (even though the docs say ShowFullscreen() will show the window itself).
* Much header file cleanup and used forward declarations to remove a lot of excess includes; might help improve build times a wee bit.
 * Preliminary hash-table implementation for the Game database.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3264 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-22 04:29:24 +00:00
Jake.Stine 9fae2cc4f3 UI: Replace a lot of PCSX2's with pxGetAppName().
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3254 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-21 10:25:06 +00:00
Jake.Stine 7461f83414 UI / Cmdline:
* Fullscreen mode should be remembered/applied properly now.
 * implemented --fullscreen and --windowed options
 * Made the --help popup a lot prettier

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3249 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-21 04:04:32 +00:00
Jake.Stine a7b2855412 Refactoring: (boring)
* renamed PersistentThread to pxThread (shorter, sweeter, and the 'persistent' part is obsolete since its now a full blown thread manager since some while ago).
 * Renamed a bunch of the PostMethodToMain stuff to Rpc_TryInvoke*  (for remote procedure call).  It's probably not a good use of the term, but I'm bummed I can't think of anything better/shorter.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3238 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-19 13:42:32 +00:00
Jake.Stine b04af0e6e9 UI:
* Added 3-state checkbox support to pxCheckBox.
 * Fixed some buggy behavior when closing PCSX2 with either main window or console window minimized (window positions would get screwy)

DevNotes:
 * Moved ImplementEnumOperators macro to Common headers and improved it a bit.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3220 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-18 02:44:27 +00:00
Jake.Stine 2300f972e4 Commandline, UI, and Game Database Work:
* Improved console window behavior during startup and shutdown (also fixes minor threading issues)
 * Added better failsafes for avoiding "rouge" pcsx2 processes left behind when wxWidgets would fail to "notice" window closures properly.
 * Database loader is now thread-safe and cleans itself up properly on exit.
 * Added some handy enumeration tools for the gamefixes (prep work for making them commandline controllable).
 * ... and more prelim commandline work!  (actual functional implementations coming very soon)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3212 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-15 14:13:23 +00:00
Jake.Stine e285ff4b50 Fix gruesome errors in database loading/saving.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3191 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-10 11:27:30 +00:00
Jake.Stine ff1db14f9d Converted the GameDB to use wxWidgets classes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3188 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-09 17:37:11 +00:00
Jake.Stine 91454bfb12 * UI: Many small fixes for badly sized popups and confirmations.
* Includes possible fix for Issue 743 (AMD cpu core counts).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3184 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-08 12:09:28 +00:00
arcum42 e281b79ed1 Linux compilation fixes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3179 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-07 08:56:28 +00:00
Jake.Stine e86d1d1bd4 UI:
* Various configuration dialogs remember their positions now. :)
 * AboutBox is fixed, and is now resizable.
 * Fix for Issue 739 : usermode.ini hashes are now case-insensitive on Win32.
 * Likely Fix for Issue 740 : missing text on Linux/GTK.  (need confirmation)

DevNotes:
 * Moved IniInterface.cpp/h to the Utilities lib.  Linux makefiles will need to be updated. >_<

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3178 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-06 23:26:07 +00:00
Jake.Stine 34d6384d55 UI: Reorganized the Speedhack panel a bit, and added graying out of the new static text labels.
Todo note: The plan is to make the Gamefixes dialog match the new way the speedhacks dialog is laid out, with the disable checkbox at the top (in case someone wants to try their hand at it!).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3171 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-05 14:25:41 +00:00
Jake.Stine df3bda9183 * Bugfixed some popup dialogs, which would sometimes be too small or empty.
* Various small cleanups to emitters and microVU's regalloc code (no functional changes)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3162 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-05 04:07:58 +00:00
Jake.Stine a7bb875e18 x86emitter: removed implicit pointer dereferencing on 'indirect' operand types, and implicit uptr addressing on ptr[]; avoids some obscure pitfalls and might speed up release mode builds (LTCG).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3158 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-04 22:27:06 +00:00
Jake.Stine f219b79ad4 UI: Fixed a few minor layout bugs in the logging options, and introduced pxDialogCreationFlags to get rid of some Constructor Parameter Hell(tm) on dialog creation.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3155 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-04 19:50:31 +00:00
cottonvibes 149d3290db Added Game Database Editor to gui.
The panel is currently under "Emulation Settings", feel free to move it where-ever is appropriate.

If you have a game loaded the editor will automatically load the game's info, if not you can search for the game by typing the serial manually.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3152 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-04 16:41:51 +00:00
Jake.Stine 8f92cdf265 UI: Switched from the old 'native' text labels to a new custom draw text label that should (hopefully!) be a lot better about positioning and wrapping text, and fitting to windows and what-not. Also gets rid of my nasty "ideal width" hack I originally used to fix-size some of the dialogs.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3150 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-04 08:00:19 +00:00
Jake.Stine dd021b1ea1 Working on a new replacement for pxStaticText, which should hopefully have more reliable centering and wrapping behavior. Will finish it up later.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3143 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-02 15:58:34 +00:00
Jake.Stine 2a0d360125 Minor fix to memzero function in gcc/linux (mentioned in Issue 577); may help fix some errant SIGSEGV's with certain optimizations enabled.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3141 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-01 13:34:55 +00:00
Jake.Stine 23857a0e16 Added a little OOP to the CPU detection code, and turned one monolithic cpu detection function into several isolated ones (isolated by what general info they detect).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3136 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-01 03:33:51 +00:00
Jake.Stine 250b5da3ab Adds support to PCSX2 for 'SetLogDir' being passed to the plugins; needed for proper UAC/user homedir mess (patch by gregory).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3111 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-29 03:36:49 +00:00
Jake.Stine 9e7394afff * Set the PCSX2 event handler queues to use the wxObject allocator (reduces heap fragmentation, multithread performance, etc) [MSW/Win32 only]
* SafeFree() macro changed: Remove null check on calls to free(); should be 100% safe as according to wx gurus.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3102 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-28 16:50:49 +00:00
Jake.Stine 74a4ecd559 Completed support for various MemoryCard sizes (16, 32, 64 megs cards).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3084 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-26 19:45:33 +00:00
Jake.Stine 24e70bd524 * Re-implemented memorycard ejection (yay!) -- helps avoid memorycard corruption when using savestates on many games (due to them caching memorycard contents).
* Memorycard settings are now applied on-the-fly (can add/remove/disable memory cards in the BIOS browser and it'll act just as if you plugged or unplugged cards on a real PS2)
* Bugfixed memorycard creation dialog; which wasn't creating the memorycards in the right place (oops).

* Removed the CWD option from the first time wizard (was redundant since adding the custom location option).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3081 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-26 01:57:08 +00:00
Jake.Stine 56170870eb More user interface work. Moved some of the configuration panels around; just to confuse you all. ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3070 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-25 02:08:17 +00:00
Jake.Stine d8ba646de2 Even more memorycard work! Dialog box is mostly functional now (still missing a couple options and refinements) -- WARNING: settings/ini storage has changed. If you're using non-default memorycard settings, you'll need to go and edit your ini again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3066 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-23 15:20:52 +00:00
Jake.Stine c4e2bfefb7 More UI Progress.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3052 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-20 22:29:30 +00:00
Jake.Stine f7a30c3291 More work on memorycards, and general UI adjustments. Some things with the dialogs might be a bit broken-ish. Will finish this up properly soon. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3047 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-20 12:23:13 +00:00
Jake.Stine 63f62bf737 User Interface:
* Console Log doesn't force itself into the focus anymore when it opens
 * Suspend/Resume menu item updates more reliably.
 * Changing plugin settings while suspended works nicer; less likely to crash/hang/etc (ironically, changing plugin settings while running was more reliable).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2976 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-10 17:59:03 +00:00
arcum42 62c15102e4 Add NDEBUG to non-debug targets in Code::Blocks. Remove a few inlines that were causing problems with Linux. Remove a problematic hardcoded initialization of OutputModule I'd forgotten about in Spu2-x.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2967 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-08 01:51:29 +00:00
arcum42 aaded4ec6d Mess with Jake's code until it works in Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2961 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-07 09:55:30 +00:00
Jake.Stine 12bdd9dc10 * Fixed death-by-recursion caused when a thread threw an exception.
* Fixed some minor bugs when processing idle events.
 * Plugin Load/Init/Shutdown/Unload are all called from the Main/UI thread again; this is important for plugins that issue popup warning/error messages.

DevNotes:
 * Added ScopedPtrMT, a multithread-safe version of ScopedPtr.
 * MTGS errors are still not handled as gracefully as they should be; namely the MTGS thread doesn't restart itself (it's on the TODO list).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2958 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-07 03:20:58 +00:00
Jake.Stine 70d47bf240 Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2937 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-03 14:08:02 +00:00
Jake.Stine 1507d72cad UI Bugfixes:
* Fixed several obscure deadlock issues.
 * Savestate actions block; such that only one load or save is permitted at a time.
 * Savestates now work through temp files, so that the existing file is not corrupted in case errors occur.
 * Exiting the emu while a savestate is saving will still save the state before completely quitting.
 * Plugin init errors are handled more gracefully.

Developer Notes:
 * Added some event diagnostic trace logging stuff.
 * More preliminary work on memorycards -- moved them to their own dialog box and started implementing things, but still a lot of work to do before it's ready for use.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2936 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-03 13:51:46 +00:00
Jake.Stine 68b7121b92 ... and the missing file might help. Woops.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2912 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-27 13:18:29 +00:00
Jake.Stine 5d37925617 Major UI renovations!
* Added versioning info to savestates! (along with some other bugfixes)
 * Simplified the Boot and System menus -- removed the old Skip BIOS hack and replaced it with the new BOOT2 injection method (which is considered hack-free at this time).
 * Removed lots of UI deadlock gotchas.
 * Some new confirmation dialogs and better error handling.
 * Implemented an exclusive SysExecutor thread, which serves the purpose of executing system/VM commands and events in uninterrupted order (including suspend, resume, savestates, etc.)



 * ... and probably broke linux!

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2911 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-27 13:12:03 +00:00
sudonim1 4457fe40fc Removed all trailing whitespace in *.c *.cpp *.h because it irritates me.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2897 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-25 00:31:27 +00:00
sudonim1 3657bebe9e Fixed trap instructions by using the old implementation for now.
Added INT and INTO to the emitter.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2716 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-15 14:15:40 +00:00
arcum42 58c75437d4 Take care of a few compiler warnings, and get rid of a bit of redundancy in the codeblocks projects.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2701 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-12 09:06:12 +00:00