Commit Graph

8918 Commits

Author SHA1 Message Date
Jake.Stine ac88159fb3 Reintegrated GSopen2 branch. Rundown of new features:
* Implemented proper shader management, fixes several bugs where video would be lost or crash, and is a small speedup.
 * Retains GS state across open/close, same as every other PS2E plugin now.
 * Implemented GSopen2(), which is used by wx-pcsx2 to bind the GS output to a window handle of pcsx2's choosing.
 * Retained full backwards compat with the current legacy gui. :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1871 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-19 08:51:11 +00:00
arcum42 2d6d370cf6 A few dmacReg & gifReg changes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1870 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-19 05:03:54 +00:00
cottonvibes ca8437dd0a fixed a bug from my last revision...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1869 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-19 04:25:17 +00:00
cottonvibes 32e8a8a260 After hours of frustration getting my gifDummyTranfser() function to work the way pcsx2 wants path2/path3 transfers to occur, I decided to just rewrite it again using the old gifDummyTransfer() as a base.
Fixes GT4 corrupt textures.
Again tell me if this version breaks anything...

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1868 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-19 04:04:06 +00:00
Jake.Stine 72f49551c8 GSopen2: Merge failed to record these revisions for some reason.. >_<
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1867 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-19 00:25:33 +00:00
Jake.Stine f4cc055a7d GSopen2: synced with trunk, so that I can reintegrate. :)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1866 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-19 00:14:10 +00:00
Jake.Stine 851354eca3 GSopen2: Detect GSRenderer changes across GSopen/GSclose calls, and preserve the GSState at the same time. Also added proper window closure code, so that STGA mode (legacy gui only) doesn't cause the GS window to be frightfully sticky. >_<
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1864 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 23:48:12 +00:00
Jake.Stine 788489f517 GSopen2: Fixed legacy mode compat and STGS operation.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1862 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 22:13:40 +00:00
Jake.Stine 27af8d80ca GSopen2: Simplified the multithreaded and irq callback parameter passing scheme, and made them more "robust" so that they can be changed dynamically without the GS exploding (important with the new correct GSState preservation across open/close).
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1860 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 19:54:56 +00:00
Jake.Stine 8376e0a886 Moved the GIFtag from MTGS instance status to static status, since it needs to be preserved as part of the PS2 virtual machine state (fixes problems when pausing/resuming)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1859 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 19:38:12 +00:00
Jake.Stine 73a39b012c GSopen2: Fixed a bug in gsdx where it didn't properly handle changes to the GS base register memory pointer.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1858 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 18:45:37 +00:00
gigaherz 0017eb5ca3 Small fix to remove an assertion in XAudio2.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1857 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 18:12:10 +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 c63cb5d70a Disabling microVU (enabling superVU) gets saved to ini now. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1855 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 14:40:24 +00:00
Jake.Stine 3ccb4d3698 Re-re-re-re-fixed the BIOS skip hack saving on exit (plus lots of code cleanups and some API changes to saving/loading settings -- more to come).
Linux/GCC: Disabled __forceinlining in debug builds.  This is the intended design, fixes many GCC errors in debug builds, and also mimics MSVC behavior.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1854 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 14:07:36 +00:00
mattmenke 504082f52d wxWidgets: Clicking on the sliders on the hacks screen now works.
Scroll rate is very inconsistent, but that's just wxWidgets doing what it does best (worst?)...
Also fixed a minor bug in LilyPad version labeling.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1853 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 10:18:56 +00:00
arcum42 8a1df8dbb1 Same changes to ZeroSPU2 & spu2-x's projects. ifdeffed out a few things in spu2-x.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1851 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 07:37:21 +00:00
mattmenke 8372c48285 LilyPad: Switched to using pre-compiled headers, just for kicks. Compiles significantly faster, though it's not exactly the limiting factor in batch builds.
Changed intermediate debug build directory, for consistency.
Added another LilyPad-only build option, to compile without CRT dependencies, as manifests are evil.
Finally nuked the VC 2005 project.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1850 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 06:58:48 +00:00
Jake.Stine e4c0dfb6d3 GSopen2: Fixed GSdx so that it complies with the implied intent of the PS2E plugin API, where GSopen and GSclose retain the current GS emulation state. This required a couple significant changes:
* Removed GSTextureFX classes
 * Built shaders right into GSState classes, using GSStateDX as an interface, so that all shader caches get auto-destroyed along with GSState.

In addition to being a bit of a code cleanup, it should be a bit more efficient too since all of the extra dereferences to GSState from GSTextureFX have been removed. :)

git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1849 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 00:16:52 +00:00
Jake.Stine cc1bc8d122 GSopen2: synched with trunk to pick up various gui fixes.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1848 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 00:11:27 +00:00
arcum42 b6918b1b9b Hook up the save/load menus and make the Linux console output somewhat less insane.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1847 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 00:01:44 +00:00
Jake.Stine e75043b91e GSdx: Fixed GSDialog so that it doesn't cause PCSX2 to minimize into the background when closing the config box.
PCSX2: Reloads plugins a little less often.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1846 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-17 23:49:39 +00:00
arcum42 34af7c1281 Linux: IsRunning was crashing pcsx2. Also, jNO_DEFAULT isn't a good idea in these two spots.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1845 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-17 23:24:44 +00:00
Jake.Stine 556a811933 Linux: added missing files, and switched from my own WindowDisbler hack to wx's built-in wxWindoweDisabler hack. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1844 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-17 23:04:02 +00:00
Jake.Stine 2b3d596d86 Minor fixes for interlocking against the threaded plugin loader (running a game too quickly could cause crashes)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1843 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-17 16:49:04 +00:00
Jake.Stine 8de579954f GSopen2: Current status...
* Software mode seems to work fine.  Suspend and resume emulation work nicely, without flaws.
 * Hardware DX9 mode suspends but displays only black after resuming.
 * Hardware DX10 status is unknown.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1842 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-17 07:40:38 +00:00
Jake.Stine e6149c7c13 Branch made for working on proper implementation of the new GSopen2 into GSdx.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1841 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-17 07:37:58 +00:00
Jake.Stine e5da378d9a Added a GSopen2 call to the GS plugin API, which is used by PCSX2 to specify its own window handle.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1840 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-17 07:31:57 +00:00
Jake.Stine 19310cef03 Re-fix win32 builds. Stupid C++ templated class inheritance fail.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1839 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-17 05:24:47 +00:00
mattmenke 323489147a LilyPad: Fix for some bizarre issue with wxWidgets involving property sheets, Microsoft, spec violations, and gremlins.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1838 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-17 05:14:25 +00:00
mattmenke 5b628d5045 wxWidgets: Hooked up plugin config menus in main window.
LilyPad:  Couple very minor string/menu changes, no functionality changes.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1837 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-17 03:25:02 +00:00
Jake.Stine a2d4144ce9 Linux: Fix some of the standard issue compiler errors that come with any changes. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1836 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-17 02:12:32 +00:00
cottonvibes 9506d7a38c Fixed a compiler warning from pcsx2.
Fixed some bugs I noticed in my gsDummyTransfer() funct; idk if it fixes GT4 since my game isn't running on pcsx2 anymore (its always been a pain for me to get my version to work)
Anyways, going to rewrite the function again using a simpler algorithm thats less likely to messup.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1835 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-16 23:13:44 +00:00
Jake.Stine e20883d287 Let's save the SkipBios hack setting, because people hate me enough already for putting this off a week.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1834 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-16 19:03:14 +00:00
Jake.Stine c9c924fe35 Yay, craploads of fixups for the new gui:
* Lots of crashfixes and threading rules compliance (like using wxYield instead of ProcessPendingEvents)
 * Killed off some memory corruption
 * Better error handling and reporting
 * Much speedier suspend/resume during emulation
 * Revamped entire savestate system to use a RIFF-style file format (untested, will work on it soon)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1832 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-16 17:23:02 +00:00
cottonvibes 7593072214 Added some missing logic to gifTransferDummy() which takes into account completing partial transfers.
For example, if a path3 transfer has a giftag with nloop = 30, and we only 'looped' 20 times, then the next time gifTransferDummy() is run for path3, it will treat the incoming data as the rest of that gs primitive (instead of a new giftag), finishing the rest of the 10 loops. (Then it just continues normally, treating the next 16bytes of data as a new giftag...)

Its odd that I wasn't doing this before and games seemed to work fine, but might be needed for a few games...

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1829 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-16 08:51:14 +00:00
Jake.Stine 5378760fcf Reimplemented Path3progress status var, and set incPmem to count in QWCs (cleanup).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1828 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-15 11:26:05 +00:00
cottonvibes bd3601b2d6 gifTransferDummy() now handles path2 and path3 transfers.
Hopefully doesn't break anything :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1827 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-15 06:24:41 +00:00
mattmenke 77639783ea LilyPad: Minor improvement writing to DualShock 3 device - lights should generally be updated fairly promptly now, rather than depending on how/when the device is initialized. Also removed CRT dependencies, so the MSVC 2005 release build compiles again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1826 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-15 00:38:50 +00:00
mattmenke 0573f39157 LilyPad: DS3 tilt support. Why? Because it's there. Can't think of a sane use for it, though.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1822 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-14 11:34:53 +00:00
mattmenke 046e10b1a9 LilyPad: Force feedback threading fix. DualShock 3s initalize much more nicely.
Still have issues with DS3 rumble - looks like only one motor can be enabled per communication (Otherwise, always lose connection to the device and have to re-enable it), and enabling one kills the other.  Not sure what to do about this, currently just flip between the two.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1821 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-14 10:30:50 +00:00
cottonvibes cc33a016f0 Rewrote _gifTransferDummy for Path1 transfers (VU's xgkick), now it properly supports wrapping around VU memory without any hacks (hopefully fixes some games).
Path2 and Path3 still use the old function since I need to do more research on them and how pcsx2 is emulating them...

If this commit breaks anything let me know.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1820 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-14 04:37:59 +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
Jake.Stine 4fbc2c26aa Fixed a bug in BiosTools.cpp that caused Bios-Not-Found errors.
MemoryCard / Multitap Renovations:
 * Memorycards should now support multitap (somewhat untested)
 * Implemented a memorycard plugin interface, using the new API defined in PluginCallbacks.h (still prelim and hackish)
 * Memorycard settings are saved to ini!
 * Multitap is now controlled by PCSX2 instead of the pad plugin (which means no multitap until we implement the gui toggles to enable it)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1817 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-13 17:11:35 +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
mattmenke c1f8444fe1 LilyPad: DS3 no longer disconnects when vibrating. Partial workaround for a DirectInput threading issue when vibration is triggered at the same time devices are being added/removed - probably do something better at some point. Some other DS3 related changes - change names of some controls, increased sensitivity of boolean buttons values to more closely match the DS3 as well. Poorly calibrated analog axes bound to the d-pad (Or buttons) may cause issues.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1815 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-13 04:55:58 +00:00
mattmenke 8b0d0dba7b Gui: Fixed fix. Last fix was close, but a couple lines too high. Oops.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1814 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-13 02:37:55 +00:00
mattmenke 8643bf8455 gui: Now uses new plugins to check if selected plugins when clicking "Apply" on plugin config screen rather than the old selected plugins.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1813 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-13 02:14:34 +00:00
mattmenke 3bb0846264 LilyPad: Fixed DS3 motors being flipped, setup default motor bindings on creation, and reduced delay to make sure pads have been initialized when testing force feedback (Probably get rid of it all together once I implement a workaround).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1811 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-12 13:23:16 +00:00
mattmenke 73cace2e54 Highly experimental DS3 support added. Use newly added features at your own risk. Requires libusb installed and DS3 set up as per instructions at http://forums.pcsx2.net/thread-7582.html. Doesn't require sixaxis64.exe/sixaxis.exe, but might have to fool around with starting/stopping Pcsx2 or LilyPad's test device screen and the PS button on your controller until the "1" light turns on.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1810 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-12 13:10:17 +00:00