Commit Graph

69 Commits

Author SHA1 Message Date
Jake.Stine cdb2d8f276 w32pthreads: Fixed some minor bugs in the pthread_testcancel optimization I implemented some weeks ago; ifdef'd out some code that was specific to __CLEANUP_C mode.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2062 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-23 20:09:16 +00:00
Jake.Stine 4047e0ee9f wxWidgets/Win32: Cure wxWidgets of some over-joyous re-allocation of formatted strings which was (presumably) added because of limited memory constraints on portable devices (which doesn't apply to PCSX2).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2039 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-19 15:18:32 +00:00
Jake.Stine 950c99f886 wxWidgets/Win32: Bugfixed wxLog getting perma-suspended when calling YieldIfNeeded
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2031 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-18 12:30:54 +00:00
Jake.Stine a4f180aa5d wxWidgets: helps if I fix *both* string and object allocators. I'm a commit spammer tonight. -_-
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1991 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-09 00:39:09 +00:00
Jake.Stine 9db4d2d53a wxWidgets: Bugfix to the private heap, caused by me recovering the wrong file to commit to svn. -_-
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1990 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-09 00:35:50 +00:00
Jake.Stine ca49f2edc0 wxWidgets/Win32: Helps when I include the necessary files (HeapAllocator.cpp / HeapAllocator.h)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1989 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-08 23:23:35 +00:00
Jake.Stine 67957b13b6 wxWidgets/Win32: Added a private heap allocation feature, which directs all wxString and wxObject allocations through a Windows private Heap (should reduce fragmentation and multithreaded contention when allocating/freeing blocks)
(and fix some oddball compilation errors in spu2-x in rare circumstances)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1987 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-08 19:26:57 +00:00
Jake.Stine a2a495e842 wxWidgets/Win32: Keep wx from including <windows.h> into every app/gui related file; reduces window.h global namespace pollution and speeds up compilation times a little bit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1974 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-07 03:52:05 +00:00
arcum42 8de443878a Don't believe we really need an xml parser in pcsx2. I've moved it to 3rd party, in case we want it at some point. Removed the xml loader code as well.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1971 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-06 10:22:52 +00:00
Jake.Stine ed444cb876 More MSVC/Win32 buildsystem fixes: Made is so you can now optionally unload all 3rdparty libs (after building at least once!) and still build the rest of PCSX2 and plugins without linker errors. This is useful for reducing the memory overhead of working in the MSVC IDE, and reduces the size of the .ncb file and the bugs that come with it.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1969 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-06 01:52:22 +00:00
Jake.Stine eff929cf09 Minor buildsystem changes (remove some warnings and add function level linking option to all 3rdparty libs)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1966 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-05 14:40:46 +00:00
Jake.Stine 7b800cf290 wxWidgets (Win32): Disable debug trace logigng of Windows Messages, because it's really! slow. And not! useful.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1934 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-30 12:34:19 +00:00
Jake.Stine 44464b812a w32pthreads: add the missing project file. (thought for sure I added this >_<)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1926 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-29 14:33:56 +00:00
Jake.Stine a628c163d5 w32pthreads:
* 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
2009-09-29 14:21:12 +00:00
Jake.Stine 6c0afe7c48 w32pthreads: minor optimization using _declspec(thread) for internal thread handles, instead of TlsAlloc.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1924 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-29 05:04:55 +00:00
Jake.Stine 39bd850f72 win32pthreads: Changed from _beginthreadex to CreateThread, which is the preferred method of creating threads when using dynamic CRT linking.
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
2009-09-22 17:28:48 +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 667cf3b5c2 GSopen2: Added GLEW as a static library dependency. We decided it's small enough to merit being packaged with PCSX2's 3rdparty libs, and it fixes GSDX from needing GLEW32.dll.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1856 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 16:21:33 +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 fd719d7571 Win32 project fixings: Removed the dysfunctional ZeroPAD from the Suite solution, and cleaned up some options in the wxWidgets projects.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1792 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-09 00:00:45 +00:00
Jake.Stine ea37e06654 Added libjpeg (version 7!)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1791 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-08 22:26:26 +00:00
ramapcsx2 eec90508ff Update libpng.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1789 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-08 19:00:19 +00:00
Jake.Stine 867a57935e wxgui: fail.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1749 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-06 00:48:52 +00:00
Jake.Stine b422809d6e wxgui: my excitement in getting a game to run for the first time in months clearly has shattered my ability to commit.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1748 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-06 00:42:24 +00:00
Jake.Stine c630b3ac22 wxgui: bah msvc and its tendency to save everything *except* vsprops files when you do a Save All.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1747 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-06 00:12:17 +00:00
Jake.Stine c1a818386f wxgui: removed dependency on afxres.h, added resource/manifest versioning info to w32pthreads.v2.dll, and fixed a compile error.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1746 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-05 23:46:08 +00:00
Jake.Stine ee97290cd2 pthreads: Added <excpt.h> to pthreads.h since SEH requires it; Added versioning to the project/output filename (currently V2, which is SEH-enabled)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1729 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-03 11:58:18 +00:00
Jake.Stine e25db2a0ba wxgui: sync with trunk (boooring)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1660 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-20 16:19:33 +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
Jake.Stine c415d8d694 wxgui:
* Major cleanups and improvements to the Threading namespace.
 * Created CoreEmuThread class framework, which currently runs the EEcore, IOP, and VUs with threadsafe suspension, reset, and resume features.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1624 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-15 06:17:43 +00:00
gabest11 0d40e9963e vs2010 project files for pcsx2 (plugins later)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1617 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-12 22:11:06 +00:00
Jake.Stine 657660371c wxgui: Fixed crash-on-exit problem in Release builds and made the console logger thread-safe (uses messages instead of direct wxFrame method invocations).
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1529 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-16 09:58:17 +00:00
Jake.Stine 8505e4a7e7 wxgui: Added plugin selection dialog (complete with plugin enumeration and an exceedingly fancy progress bar), fixed some menus, added isofile recent lists, and lots more stuff is correctly saved and loaded from the configuration file.
* Dev note: Re-enabled USE_STL in wxWidgets since that's required to ensure thread safety.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1505 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-14 06:18:52 +00:00
Jake.Stine ec10451047 wxgui: Upgraded to wxWidgets 2.8.10.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1494 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-12 04:56:57 +00:00
Jake.Stine aeaba2ad18 wxgui: Fix linux builds and other additions/fixes.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1491 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-12 00:55:12 +00:00
Jake.Stine 911f922001 wxgui: Tons of changes, additions, and improvements...
* Added some icons for use in the new configuration panel.
 * Added bin2cpp project, located under a new /utilities folder (it's used to generate wx Embedded Images)
 * Renamed NewGUI folder to gui
 * Relocated Resources folder to gui/Resources

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1477 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-07 20:53:32 +00:00
Jake.Stine e36df80936 wxgui: Project file clean-ups and slow progressing on interface/configuration implementations.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1465 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-04 20:53:05 +00:00
Jake.Stine aceefaf812 wxGui branch: [linux] Updated projects, added Utilities and x86emitter libraries.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1459 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-03 20:12:33 +00:00
Jake.Stine da691894c3 wxgui branch: Maintenance merge against trunk, plus many cleanups and project-level changes.
* 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
2009-07-03 00:49:40 +00:00
Jake.Stine b974b815ff Major Build System changes:
* Changed w32pthreads library into a DLL so that it can be used from plugins correctly. (NOTE: you will need to make sure to build and copy w32pthreads.dll into your pcsx2 folder).
 * Switched pcsx2 from static CRT to shared CRT linking (needed to ensure correct exception handling behavior in multithreaded DLL environments).
 * Switched all standard plugins in the Suite to the shared CRT, to match pcsx2's new style. :)
 * Renamed _DEBUG (depreciated) to PCSX2_DEBUG (excluding Gabest projects since the ATL still uses it).
 * Added intrin.h to Pcsx2Defs.h (so that it is included universally), and added intrin_x86.h for GCC compatibility.

Notes:
 * Current plugin version compatibility status should be unaffected.  The new shared-CRT plugins work fine with older versions of Pcsx2, and the older plugins should work fine with the new shared-CRT version of pcsx2; so long as the necessary CRT DLLs are available on the user's system.
 * All future packagings of pcsx2 will include w32pthreads.dll and the Common Runtimes (CRTs).
 * Existing users who do not have MSVC installed can obtain the CRTs by downloading the Microsoft Visual C++ 2008 Redistributable Package (anyone with msvc installed should already have all they need).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1388 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-18 08:20:19 +00:00
arcum42 1a53f45b2c Some work on variable type consistancy, and getting rid of 64 bit processor checks.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1214 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-17 21:57:24 +00:00
arcum42 a17abfa76e Fix up r1169 a bit, and a few minor changes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1170 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-11 12:12:56 +00:00
arcum42 6083e3a643 Linux: Add -m32 to the compiler flags of pcsx2 and all plugins.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1169 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-11 10:44:12 +00:00
Jake.Stine 04beb1f29f wxGui branch: [linux] Minor fixes to the GUI -- Ok/Cancel buttons line up where they should now. :)
CodeBlocks Project Changes:
 * Fixed some absolute folder specifications (/home/pubuntu/) which went unnoticed.
 * Enabled Precompiled header support (speeds up compilation about 40% for me).

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1081 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-28 20:26:43 +00:00
Jake.Stine 77b8a4447e wxGui branch: [linux] Added soundtouch and bzip2 projects for Code::Blocks, and fixed up Release mode build targets for pcsx2/zlib.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1080 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-28 14:11:38 +00:00
Jake.Stine 01c01e9c34 wxGui branch: [linux] Added workspaces and projects for Code::Blocks IDE. Main workspace is currently located in pcsx2/linux/ (will move it to a top level later), and only Pcsx2/zlib projects are tested (and working!). Haven't gotten to any plugins yet.
The CodeBlocks project is tested for Debug builds only, and will generate the executable binary to /yoursvnroot/bin/ [same as the MSVC/Win32 build does].

* Note: The 'regular' build script is currently broken and I haven't a darnedest clue how to fix it, since my knowledge of Automake doesn't extend past the end of this sentence.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1079 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-28 05:56:22 +00:00
Jake.Stine 5d36fe3839 wxGui branch: Holy crap! I converted it to unicode! This was an absolutely maddening experience. [also: Merged with /trunk]
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1069 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-27 02:04:31 +00:00
Jake.Stine 29d876dfac wxGui branch: Finished merge, and added a new wxConfig28 project file that allows the wxCore and wxBase libraries to compile in parallel on multi-core CPUs.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@909 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-04 17:28:05 +00:00
Jake.Stine 2c3c5401e8 wxGui branch: major progress on many fronts!
* Added new files AppConfig.cpp and StringUtils.cpp, and removed memzero.h (we'll use the win/linux platform dependent implementations)
 * Enabled wxWidgets memory tracing since we don't use a memory trace util of our own.

 * Switched many instances of std::string to wxString.
 * Added preliminary support for configuration settings and ini file creation.
 * Added a set of parsing and splitting tools to StringUtils.

 * Set it up so that the Console log is attachable to the main window, when dragging (fun!)
 * Main window and console log window record and restore window positions between runs (only partially implemented yet)

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@881 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-02 11:30:23 +00:00
Jake.Stine cf0c53f152 wxGui branch: Merged with trunk (2 weeks of changes!)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@876 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-31 15:54:14 +00:00