Commit Graph

78 Commits

Author SHA1 Message Date
MattMenke@gmail.com 1fd51a635e LilyPad: Fix for detecting devices whose instance IDs have changed (Either due to to changing OS or USB port).
Modified unplugged device behavior to match PadNull.  May work better with unplugged pads, may not.  No clue, just know the old behavior didn't work that well.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2552 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-02 06:40:02 +00:00
Jake.Stine bb319266fc Lilypad and PCSX2 ini/config bugfixes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2362 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-19 23:02:05 +00:00
Jake.Stine 9f41fc4793 (Most Plugins) Updated plugins to obey PCSX2's ini folder requests. This will fix problems with plugins failing to save settings on Vista/Win7 due to lack of Admin rights, and also ensures all the plugin inis show up where you would expect them to.
Fixed a couple UI bugs: FirstTime Wizard display bug and the "Configure..." button in the plugin control panel grays out when it should.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2361 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-19 18:30:56 +00:00
Jake.Stine 3dfdf5029c Lilypad: bugfix for crashes when used with pcsx2 0.9.6
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2278 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-01 05:13:38 +00:00
Jake.Stine 1ea29b0e62 Lilypad: Implemented full support for child-window GS viewports (fixes windows messaging being broken from the prev rev).
DevNotes: The main change here was to turn WndProcEater into a class and create multiple instances of it, so that it could manage the WndProcs for multiple windows concurrently.  The "frame" (top-level window) gets a WndProc that sets title and handles screensaver/alt-enter hacks.  The "viewport" (provided by PCSX2) gets the usual keyboard input handler WndProc.  Config buttons also have their own WndProc that avoid fuzzy logic conflicts with the other two.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2277 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-30 20:52:09 +00:00
Jake.Stine 8102692d36 LilyPad: Fix for occasional loss of input when suspending/resuming emulation.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2132 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-05 00:30:48 +00:00
MattMenke b0b928d4f4 LilyPad: Minor fix for redundant initialization of critical section.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2088 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-27 07:06:19 +00:00
Jake.Stine 7e63cc820d LilyPad: Better fix for the stuck pad keys (Issue 458). Fully re-implemented the GS window message pump stuffs. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2087 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-27 06:52:18 +00:00
Jake.Stine 16be400a71 LilyPad: Bugfixed cause of occasional hangs and lost input. Also, I've implemented an experimental fix for Issue 458 (laggy/sticky controls every 10-20 seconds).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2082 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-26 07:36:04 +00:00
MattMenke 22d31831e6 LilyPad: Minor fixes to alt-F4 detection code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2001 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-13 02:35:25 +00:00
Jake.Stine 5cf69e328d Minor cleanups -- removed unnecessary "using namespace std;" declares, etc.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1988 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-08 19:37:28 +00:00
mattmenke c252b0f4df LilyPad: Default deadzone increased. Note that will only apply to new bindings, or ones from inis made before I added deadzone support. Hope it's high enough for most cases, but not high enough to break anything...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1920 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-26 18:21:57 +00:00
mattmenke c82cb222d7 LilyPad: Less sensitive (Higher pre-set deadzone) for copying analog state to d-pad state when in digital mode.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1919 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-26 18:06:39 +00:00
mattmenke 2193e5aec6 LilyPad: Fix for non-pressure sensitive buttons with dead zone < 0.0625 or so.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1918 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-25 19:34:59 +00:00
mattmenke ff60b3b882 LilyPad: Give "credit" where credit is due...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1915 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-25 10:20:32 +00:00
mattmenke 3a0ad40159 LilyPad: Experimental deadzone code. Old pressure sensitive button bindings must be rebound (DS3 buttons, XInput triggers).
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
2009-09-25 08:36:42 +00:00
mattmenke cd7f88aa73 LilyPad: Another pair of fixes for related bugs in the thread safety stuff. First could cause crashes when stopping/resuming/restarting emulation, second would cause devices to fail to restart properly (Or, more accurately, restart too early) when doing the same.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1906 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-23 05:19:17 +00:00
mattmenke cfaeb06c05 LilyPad: Quick fix to bug in the thread stuff from last update.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1905 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-23 04:37:15 +00:00
mattmenke fc623d0719 LilyPad: Reverted keyboard messages back to windows messaging.
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
2009-09-21 00:24:04 +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
mattmenke 705ca3d92a LilyPad: "WM Keyboard" now actually uses GetAsyncKeyState(). Just simplifies some dependencies on the window thread. Note that WM Mouse and raw input still have those dependencies, and they can't really be worked around, unfortunately.
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
2009-09-20 10:48:22 +00:00
mattmenke 3cd9c4f2e2 LilyPad: Fixed not adding manifests in debug builds, removed them from CRTless build.
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
2009-09-20 04:14:40 +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
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
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
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
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 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
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
mattmenke c6a33eb2f0 May or may not fix certain failure to bind issues. May or may not cause issues in canceling binding when using mouse/keyboard to navigate the bind window when the corresponding mode is set to disabled. May or may not result in Armageddon. Probably not. I hope.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1795 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-09 05:13:31 +00:00
mattmenke b5264ca7c9 LilyPad: Added setupapi.lib to release build. Was already correctly linked in debug.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1681 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-26 01:49:43 +00:00
mattmenke 143b2f63d3 LilyPad: bugfix that should (hopefully) make it more difficult to accidentally bind an entire axis. May make issues with devices incorrectly reporting initial state worse.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1679 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-25 12:05:08 +00:00
mattmenke 5558ceafb3 Some preliminary HID code that I may or may not build off of.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1673 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-23 03:15:42 +00:00
mattmenke 3cbd298cff LilyPad: A number of small fixups.
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
2009-08-06 04:50:55 +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
mattmenke cb57386d85 LilyPad, Sio.cpp both modified to never allow pads in first slot on either port to be unplugged, as it broke things. Unplugging pads from other slots seems to work fine, when using multitap (When not, obviously no such pads in the first place).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1034 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-20 23:14:32 +00:00
mattmenke 256d32037c LilyPad: Fixed a potential threading issue when read input in gs thread is disabled. Odds of the issue being a problem, while perhaps significantly greater than 1/<number of atoms in the universe>, weren't too high.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1025 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-19 23:04:21 +00:00
mattmenke 5fb6505e9d LilyPad: Oops.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1014 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-19 03:50:04 +00:00
mattmenke 1d2ae02c97 LilyPad: More minor fixes to failure detection in raw input initialization code. Gabest already fixed the big one.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1013 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-19 03:33:32 +00:00
gabest11 f51e6b7d91 LilyPad: fixed a crash under remote desktop, GetRawInputDeviceInfo may return -1, the buffer size it wants is around a megabyte and gets filled with junk, just ignoring it seems fine.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1004 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-18 09:31:16 +00:00
mattmenke b748068b38 LilyPad: Changed how device updates are handled to be more multithreaded friendly. Mutexes when "read input in GS thread" is disabled removed, as they should (hopefully) no longer be needed. May just ditch the option entirely in the future, since enabling it doesn't seem to make much difference, and slows things down for some people.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@975 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-14 13:40:28 +00:00
mattmenke 62d6c0f3e7 LilyPad: Debug line removed.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@930 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-09 02:07:45 +00:00
mattmenke 76b52a97a1 LilyPad: Small/large motor defaults should work for most devices, when creating new effect bindings.
Keyboard queue fixed up a bit, mainly to favor escape down when PCSX2 is dying.

Fix for ignore bindings being swapped with the swap pad bindings buttons.

Updated version number, thinking of releasing soon.  No known bugs, not that much more to do.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@929 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-09 02:02:49 +00:00
mattmenke 014b5c6671 LilyPad: Fixed "Swap with Pad 1"
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@914 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-05 18:37:06 +00:00
mattmenke a6d330448c Fixed a simple bug from one of arcum42's cleanups.
Cleaned up multitap code a little in both PCSX2 and LilyPad.

Some extra safety checks in LilyPad when loading state.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@906 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-04 11:21:35 +00:00
mattmenke f5f3ff97a5 LilyPad: Fixed a bug in list of bindings when go to config screen after running Pcsx2 for a bit, and some devices enabled on the config screen were not enabled in game (Either due to focus issues, or, more probably, due to mouse API not being disabled, but not running with mouse focus).
Also bug fix for cursor clipping rectangle not being reset after window resize.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@870 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-31 08:15:38 +00:00