* used UPPERcase to denote the original hw register tag values from the "running sum" copies in GIFPath.
* Renamed PrepRegs to PrepPackedRegs, and optimized it so it's only run when needed (which is anytime new set of packed regs has come into play)
* Create a copy of NLOOP, so that we leave the original intact for possible later referencing.
* Simplified the XGKICKs use of sizes. They just pass 0x400 now.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1872 96395faa-99c1-11dd-bbfe-3dabce05a288
* 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
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
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
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
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
* 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
* 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
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
* 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
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
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
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
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