Commit Graph

56 Commits

Author SHA1 Message Date
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 d2b6171ce8 Fixing Linux again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3190 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-10 08:51:02 +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
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 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
arcum42 0fb724295b Quick Linux fixes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3051 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-20 20:46:13 +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
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 8586e1b90d And let's update the project file too.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2962 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-07 09:57:27 +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 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
ramapcsx2 7e8c22b4f5 Committing "blood's" work on building PCSX2 and plugins under msvc 2010.
Changes: Fixed all compile errors in VS 2010. Added support for new w32pthreads.v4. Fixed all MSB8012 warnings. Fixed LNK419 warnings with /DELAYLOAD. Fixed issues when compiling Devel before Release. Added GSdx Devel target. Minor cleanups.

Thanks a bunch, blood :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2930 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-30 19:46:43 +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
gigaherz 4917361197 Some more missing .props, sneaky bastards. (when you select a bunch of files in search results and use svn > add, it ONLY ADDS A FEW! the rest remain ignored, silently)
Some more wxCore fixes.
Fixed also inter-project dependency warnings.
Also some other fixed to get devel/release compiling.
Oh and apparently my VCproject folder got messed up and detached itself from svn, so it wasn't commiting with the rest...


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2849 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-14 20:46:24 +00:00
gigaherz 954847fca4 Initial work on vs2010 project files for PCSX2 and plugins.
The *null projects don't build, and neither do ZZOgl or ZeroSPU2.
Pcsx2 project has some issues with Resources' custom build steps not being run.
Only Debug target tested.
Needs work before it's usable.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2843 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-14 19:44:04 +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
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 aac2a2e0d1 ... forgot to save the linux cbp files before committing. >_<
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2475 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-22 15:22: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
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
arcum42 1dc47d5215 Compilation fixes for Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2299 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-04 00:25:07 +00:00
Jake.Stine 1e431fb69a wtf? A working framelimiter? Turbo and slowmo hotkeys? Frameskipping?! Why it's all here! Rejoice! And then find lots of bugs, too, I'm sure. Note: Frameskipping has no gui stuff yet... I'll do that soon.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2294 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-03 15:51:39 +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 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
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
arcum42 6632e5d108 A bunch of Codeblocks project changes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2210 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-17 13:50:37 +00:00
Jake.Stine 848269fc22 Added pxRadioPanel, a nifty all-thrills container for radio button groups. Removed AddRadioButton. Moved SizerFlags and other wxHelpers to Utilities class (optionally accessible by plugins).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2195 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-14 08:36:57 +00:00
Jake.Stine eea8ff9767 Fix some 'o dat Linux thang!
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2080 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-25 23:21:46 +00:00
Jake.Stine 581e8a30a7 Small bugfixes to settings handling at startup, fixed a memleak when opening multiple dialog boxes, and some other minor interface code cleanups.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2079 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-25 22:33:23 +00:00
Jake.Stine efc35405f8 Reorganized the exception/signal handlers, setjmp/longjmp, and SysCoreThread stuff:
* 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
2009-10-23 20:24:59 +00:00
Jake.Stine f172829737 aligned_stack:
* 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
2009-10-21 08:57:05 +00:00
arcum42 29e8fe94e9 Change a few project options and get rid of _unused.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2036 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-19 10:42:36 +00:00
Jake.Stine 0880cadf64 Linux: Minor fixes for prev commit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2023 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-17 18:51:17 +00:00
Jake.Stine d69f6610e8 More threading improvements:
* 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
2009-10-17 18:21:30 +00:00
arcum42 0a117b1b99 The saints may come marching in, but the cpus shouldn't be. I've removed some march flags that shouldn't be there. I also made a change to Sif.cpp that was discussed in r1998.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2002 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-13 10:23:34 +00:00
Jake.Stine 4e114666d2 Linux: some more minor tweaks to project files and compilation errors (release mode only)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1978 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-07 23:31:03 +00:00
Jake.Stine eda5d1d834 Savestates work! Not much else does yet (settings, etc), but at least this monkey's off my back. I can work on tying up more loose ends now. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1975 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-07 19:20:11 +00:00
Jake.Stine 653d09e821 Lots of new code maintenance stuffs:
* 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
2009-10-04 08:27:27 +00:00
Jake.Stine fdbabaa11c Linux: Fix compilation errors and warnings. There's still a lot of new warnings in x86Emitter due to __forceinline being disabled in debug builds, but the proper fix for those will come later.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1898 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-21 09:48:31 +00:00
Jake.Stine 0f259e62d5 Implemented keyboard accelerator tables and a hashed global command table (should be ideal for eventual GUI extensions via plugin, and toolbars and other fanciness). Removed Pause menu and replaced it with a Suspend/Resume menu. Closing GS window behaves more nicely.
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
2009-09-20 20:54:45 +00:00
Jake.Stine de0442321f Linux: Fixed compiler errors from my prev commit, along with a few verbose warnings and a compile error in SPU2-X. (note, moved Linux's define of SVN_REV macro to PrecompiledHeader.h for now, until a proper solution is implemented)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1819 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-13 20:56:22 +00:00
arcum42 f72c913c4b Fix a few Linux things.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1816 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-13 06:13:22 +00:00
Jake.Stine b638f52809 Re-ordered the MSVC folder structure to split PCSX2 into two definitive sections: [App]Host and [Emu]Core (the bracketed names indicate the "long" versions which are generally used in the code to differentiate the functions and classes). If the tentative layout is good then I'll sort the files on SVN to match that layout.
(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
2009-09-12 02:58:22 +00:00
Jake.Stine 76045a4722 Cleaned up Path namespace and moved it and wxDirName to /common/Utilities.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1803 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-12 01:03:44 +00:00
arcum42 282abf816d wxgui: A few Linux related changes.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1692 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-28 01:20:40 +00:00
Jake.Stine db3e81504e wxgui: The Linux side compiles and runs again. Note: Removed "Open in Explorer" buttons for folders since there seems no reliable way to do that in Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1661 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-20 23:05:26 +00:00
Jake.Stine 4b320294fc wxgui: Fixed most of the trivial bugs from the prev commit.
* 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
2009-08-20 14:34:48 +00:00
Jake.Stine 3c4b1afb49 wxgui: All kinds of mess, but still not up to running games yet.
* 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
2009-08-18 19:47:00 +00:00