Gave up on the smart m_width / m_height adjustments for now. This just won't work the way I imagined it :/
Using a "common" size of 640*512 instead. This means some odd games might use a wrong output surface again (they always did this on the normal upscaler).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2190 96395faa-99c1-11dd-bbfe-3dabce05a288
- Reduced the overhead of the new scaler. Instead of just using 1024*1024 blindly, it tries to adapt to games native resolutions.
- Yet another change to IncAge(), since it seems to be (mis)used to do texture invalidation. (Fixes Disgaea 2 when booting through the BIOS)
- Added some comments
Note:
Before working on the texture cache GetDisplayRect(),GetFrameRect() and GetDeviceSize() really need fixing. It's useless to try and find surfaces when not knowing the real size of things.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2174 96395faa-99c1-11dd-bbfe-3dabce05a288
- Added some sad attempt to fix small upscale annoyances. It's very hackish but better than nothing :p
- Small cleanups
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2169 96395faa-99c1-11dd-bbfe-3dabce05a288
This means cdvdGigaherz builds will no longer work on older versions of pcsx2 from before I integrated the detection code into the emu.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2155 96395faa-99c1-11dd-bbfe-3dabce05a288
- Bring back IncAge() for textures to avoid excessive memory usage by some games.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2140 96395faa-99c1-11dd-bbfe-3dabce05a288
- Fixed many flickering scene change transitions (FF12, Gust games, etc).
- Found more info on how games do some special effects. Preliminary code included, but disabled.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2101 96395faa-99c1-11dd-bbfe-3dabce05a288
* Fixed some bugs from the prev rev that ended up disabling all reverb completely.
* Expanded reverb buffers to x4, as per Neill Corlett's recommendation; this should give reverb a lot more "body"
* Implemented what I suspect is correct behavior for EEA register handling. When set to zero, effects are disabled. This fixes nasty reverb and feedback loops in Digital Devil Saga.
* Reverb down/up mix buffers are now processed even when effects disabled; fixes the reverb being cut off prematurely during the BIOS splash screen.
* Fixed some silly clamping bugs (should fix distortion problems in some titles)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2086 96395faa-99c1-11dd-bbfe-3dabce05a288
- More work on the configuration, preparing for some reorganization.
- 8 Bit textures default to off again, since there are issue reports (mainly from ATI users).
- Add a gamefix that allows users to set an amount of "bad" frames to be skipped.
Add gamefix_skipdraw = x to the GSdx.ini to enable. (More work on this soon)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2085 96395faa-99c1-11dd-bbfe-3dabce05a288
- Worked on the configuration dialog, bringing in the scaler option
- Changed the DeviceSize code to use Jake's kinda better method. Fixes some odd resolution games :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2061 96395faa-99c1-11dd-bbfe-3dabce05a288
- The Xenosaga fix was wrong, this is better.
- Disabled the pitch conversion code, it's too broken to be used :/
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2058 96395faa-99c1-11dd-bbfe-3dabce05a288
Added a somewhat more accurate upscale option via GSdx.ini. Not tested much! :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2055 96395faa-99c1-11dd-bbfe-3dabce05a288
Fix Xenosaga 2 and 3 fog effect, not sure it's handled correctly but at least it's handled.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2050 96395faa-99c1-11dd-bbfe-3dabce05a288
New default values for soundtouch, fix the sound quality somewhat.
Also got rid of a small configuration dialog glitch.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2021 96395faa-99c1-11dd-bbfe-3dabce05a288
Ideally this should be reverted one time, it really made a difference in fps for some DX calls heavy games.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2019 96395faa-99c1-11dd-bbfe-3dabce05a288
* Plugged up some various thread sync issues with the sector cache (caused problems mainly on startup.init and during disc change detection)
* Added a thread sleep to the ReadThread when the dvd tray is empty or open (speedup).
* Replaced a thread sleep with an Event when waiting on pending events (speedup).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2007 96395faa-99c1-11dd-bbfe-3dabce05a288
Fixed: More savestate slowness, and less savestate memory hogging.
SPU2-X: Fixed crash bug on using savestates while suspended.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1994 96395faa-99c1-11dd-bbfe-3dabce05a288
* Switched the SysCoreThread to a static (fully persistent) thread.
* Added some listeners for when the CoreThread status changes
* fixed some slowness in savestates, and the emu will now stall until savestates complete, if you try to exit too quick (avoids savestate corruption)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1993 96395faa-99c1-11dd-bbfe-3dabce05a288
* Re-enabled function-level linking in the shared properties sheets (applies to debug and devel builds, and is ignored in release builds). Can't remember why it got disabled in the first place, but whatever errors it was causing seem to be gone now.
* Removed the wxWidgets 2.9/3.0 copy of wxScopedPtr (wx/scopedptr.h), since we have a new superior implementation of our own.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1949 96395faa-99c1-11dd-bbfe-3dabce05a288
* Potential Bugfix: Core1's DMA IRQ trigger was being ignored in some instances; might fix some hangs.
* Major code cleanups, using C++ structure member methods and functions.
* Improved gui / plugin api / core emulation code separation -- hoping to switch to wxWidgets eventually.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1930 96395faa-99c1-11dd-bbfe-3dabce05a288
Currently anything below deadzone is mapped to 0. deadzone and above are mapped as if the control's true zero is 0 and 1/sensitivity is fully down (As opposed to deadzone being zero). May change in the future.
Modified precompiled header to fix no-CRT build.
List of bindings noew automatically jumps to new bindings.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1914 96395faa-99c1-11dd-bbfe-3dabce05a288
Just changed the config dialog a bit to prevent performance seeking users from disabling timestretching (and then posting threads about bad sound :p ).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1909 96395faa-99c1-11dd-bbfe-3dabce05a288
New method of ensuring thread safety. Device update code should always run in GS thread, even if the emulator really doesn't want to let me (Basically ancient versions of Pcsx2...Or any 3rd party emulators with their own version of MTGS). Updates on PADpoll, PADkeyEvent, or PADupdate, if one is called in the right thread. Updates in thread's WndProc otherwise. Overkill, perhaps, but I prefer to keep things compatible.
Removed "Update in GS thread" option.
Windows Messaging/Raw Input keyboard event queuing should work a little better.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1896 96395faa-99c1-11dd-bbfe-3dabce05a288
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
Also, just for kicks, made pausing while pressing "escape" check the pause button in the menu.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1891 96395faa-99c1-11dd-bbfe-3dabce05a288
Removed the keyboard disabled option, as using two different pad plugins is really just a bad idea. Also finally got sick of people saying "I have keyboard disabled, and the keys don't work! I urgently need help!"
Also will no longer let you enter config mode (And thus crash the program) when emulator is running.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1889 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
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
* 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
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
(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
* Fixed a deadlock in thread cancellation.
* Muted some folder warnings when running pcsx2 for the first time.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1778 96395faa-99c1-11dd-bbfe-3dabce05a288
Fixe the dsp (winamp plugin) crashes. Thanks to Gigaherz for this one, too :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1739 96395faa-99c1-11dd-bbfe-3dabce05a288
5.1 support is back!
Currently for XAudio2 only, and it's not doing much (Simple copy of the stereo source to the other speakers).
Gigaherz is already working on a nice, semi - prologic II upmixer though ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1738 96395faa-99c1-11dd-bbfe-3dabce05a288
* synched with trunk to pick up all new cdvdiso fixes.
* configuration wizard now starts if pcsx2.ini is missing/deleted.
* changed GetWindowChild (MSW specific?) to FindWindow.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1696 96395faa-99c1-11dd-bbfe-3dabce05a288
Initial pixel offsetting support via gsdx.ini.
Use pixoff_x = somevalue and pixoff_y = somevalue.
This can be used as a workaround for the various upscaling errors :)
Try these values for Takes of the Abyss for example:
pixoff_x=-8
pixoff_y=-8
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1650 96395faa-99c1-11dd-bbfe-3dabce05a288
Re-enabled capturing via F12 key. It was missing the callback entirely.
The videos I capture here turn out all blueish though. No idea why :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1635 96395faa-99c1-11dd-bbfe-3dabce05a288
DirectInput devices corresponding XInput devices should be listed as "[Detached]" when XInput is enabled. No idea if this works, as it requires an XBox 360 controller to fully test.
FF Axes now sorted, rather than being displayed in the order MS returns them.
Small motor DirectInput binding now correctly displays "Square" effect type in list when first created.
Attempt to more accurately model "soft" vs "hard" presses. Don't have a game where this matters, so no idea if it works.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1607 96395faa-99c1-11dd-bbfe-3dabce05a288
- Trippled the number of cached textures, many games constantly recreated them
- Don't clear some shaders at each drawcall (in dx10) , which is a nice speedup (but could potentially be bad, please check..)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1584 96395faa-99c1-11dd-bbfe-3dabce05a288
- Automatic texture filtering should be ok now, occasionally point filtering was used. Tested it on the ps2 and figured with no mip levels LoD and minification settings are just ignored altogether.
- Also run a few tests on the gather instruction with the reference rasterizer and found a fatal flaw with it. It returns the four samples for bilinear sampling (in a funny order, which isn't documented of course, x = bl, y = br, z = tr, w = tl), but there is no way to guess which four were selected exactly. Due to some hidden rounding error it might grab different texels than I would when calculating the position of the upper-left texel, of which the fractional part is be used for the interpolation. When the texel positions do not match it leaves annoying discontinuity errors. Oh well...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1571 96395faa-99c1-11dd-bbfe-3dabce05a288
- trying the dx10.1-only "gather" shader instruction for palletized lookups ("8-bit texture" mode), saves 4 instructions which isn't much but still... (not tested, don't have ati)
- may fix the intel gma "no output" bug (don't have gma either :P)
- and the usual small code optimizations
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1549 96395faa-99c1-11dd-bbfe-3dabce05a288
This patch by matsuri makes playing with vsync a lot nicer, so thanks for that one ;)
Note: For now its directx 10 only, due to dx9 needing a swapchain reset..
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1526 96395faa-99c1-11dd-bbfe-3dabce05a288
Fixed a problem in volume slides that caused them to update way too slow.
Music in Ys 6 works again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1490 96395faa-99c1-11dd-bbfe-3dabce05a288
* Implemented internationalization (i18n) framework.
* Made a pretty configuration dialog box!
* Many minor bugfixes.
* Removed most of the old Win32 and Linux/GTK gui code because it was causing gettext cataloging to grab about 500 non-relevant strings (can always reference trunk for them anyway).
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1484 96395faa-99c1-11dd-bbfe-3dabce05a288
* 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