Commit Graph

78 Commits

Author SHA1 Message Date
Jonathan Li 999166fa58 lilypad: Fix some gcc and clang warnings
Fixes writable-strings, missing-braces, and undefined-inline warnings.
2016-02-14 22:25:17 +00:00
Jonathan Li 2b558a9606 lilypad: Make command/response debug output portable
It also makes the log viewable in Windows Notepad.

Also fix an off-by-one and fix the missing C++ exception settings.
2016-02-14 22:25:17 +00:00
Jonathan Li 2b61edb80d lilypad:windows: Remove NO_CRT configurations
It's Windows-only and isn't actually used.
2016-02-14 13:24:59 +00:00
ekudritski e2c5236706 Just some cleaning 2016-02-12 09:57:08 +02:00
Elgar 8c5c4608d2 LilyPad: Add support for Pop'N Music Controller 2016-02-01 15:45:26 +02:00
KrossX f7a8ec7ee9 Fix for odd DualShock rumble
Only bit0 matters for the small motor. Fixes RE4 rumble on movies / map.
Was already fixed on xpad.
2015-11-22 19:18:02 -03:00
Gregory Hainaut b53be72c6e lilypad: sign compare 2015-11-12 12:11:44 +01:00
Avi Halachmi (:avih) 7d6a73ab27 LilyPad: in PS2 mode - disable configs/hacks which PCSX2 doesn't need
Disable and overrides the following hacks at the config and dialog:
- Disable screensaver
- Safe fullscreen exit on escape
- save state in title

All of those are hacks which PCSX2 doesn't need anymore and therefore are just
confusing if enabled.

Note that we assume PCSX2 is synonym for PS2 mode in LilyPad, and while AFAIK it
is the case now, it might need a more fine grained override system.
2015-10-07 01:22:47 +03:00
Gregory Hainaut 8d76586dec lilypad: fix windows build
I think lilypad used libc instead of libc++
2015-02-21 11:08:45 +01:00
Gregory Hainaut 349bb810f0 lilypad: merge LilyPad.cpp (ifdef, ifdef)
Avoid duplication for linux
2015-02-20 23:05:21 +01:00
Avi Halachmi (:avih) 916d7502c8 Lilypad: Better focus/capture/uncapture handling.
1. After ALT-Tab to another window and back, now it accepts PCSX2
shortcuts properly (e.g. Esc or F6 etc) - focus changes were not
always recognized before.

2. If Lilypad is set to capture mouse, now it releases it on Escape. This
part is a small hack because the code looks as if it should handle it,
but in practice doesn't. This adds explicit uncapture on Escape.
2014-04-16 18:39:07 +03:00
Gregory Hainaut 75c64e12aa license: add missing header
Still miss lots of copyright header but we are better
2014-04-12 19:42:41 +02:00
gigaherz f7c1b6e060 Git-based versioning. 2014-03-25 13:31:36 +01:00
ramapcsx2 52a54fda62 Null pointer protection and warning in LilyPad and SPU2-X savestates and a small init fix in SPU2-X.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5112 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-02-29 14:51:55 +00:00
ramapcsx2 c234e1f6dd Forum user ateste was so kind and found/fixed a savestate issue with Lilypad :)
The problem would cause lost controls or "Controller disconnected" messages in a few games.
This fix is temporary and only works with Lilypad, until we take care of the core issue.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4959 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-07 09:29:36 +00:00
ramapcsx2 ae5ee1376c Lilypad:
Putting the tabulator keypress hack from r4916 on L3 instead of R3.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4929 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-09 16:20:13 +00:00
ramapcsx2 45ae2cb4e8 LilyPad:
Added a new option to the hacks section that sends a tabulator key press to PCSX2.
This toggles the turbo mode of the emulator, so users with pads don't have to reach out to the keyboard anymore when they want to switch between normal and turbo gameplay :)

Note: 
I choose R3 for now since most games don't use that button. This could be made configurable in the future though.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4916 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-09-11 20:18:08 +00:00
avihal@gmail.com 6b809a5210 Lilypad: re-enable "Auto Analog" option, but only use it when not in PS2 mode (in PS2 mode this option is ignored). Tested with ICO - previously wouldn't accept control input when in autoAnalog mode, now always works.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4797 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-06 15:39:11 +00:00
ramapcsx2 c03919eb18 Lilypad: Don't screw users which already had the problematic option set.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4794 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-05 23:09:31 +00:00
avihal@gmail.com 1420318b04 GUI: BUGFIX: (Save)State in GS window title can get out of sync with actual current slot (after loading/saving state via the menu).
Details:
- It seems that due to legacy reasons, Lilypad is setting the current state at the GS window title, as a hack which is enabled by default (at Lilypad's main GUI tab). However, it's buggy because it only changes the display when (shift/)F2 is pressed, while the current slot actually also changes when loading/saving state via the PCSX2 main menu, so it can get out of sync (possibly with unpleasant results, especially when saving). Now it's disabled by default at Lilypad, and if enabled, displayed as "State(Lilypad)".

- PCSX2 itself now properly handles the current State slot at the GS title window.

Note: ZeroGS still changes its title independently (not via the "standard" PCSX2 mechanism) so Lilypad's title hack might still be useful for it. However, it's still buggy and can get still out of sync.

TODO: Remove this option completely from Lilypad because it's buggy? ZeroGS can still use it, but I think it can cause more harm than good. What do you think?

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4656 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-05-17 11:18:45 +00:00
sudonim1 4457fe40fc Removed all trailing whitespace in *.c *.cpp *.h because it irritates me.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2897 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-25 00:31:27 +00:00
sudonim1 a05e9c62be Set svn:eol-style=native on all *.c *.cpp *.h
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2894 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-24 21:37:39 +00:00
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 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 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 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
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 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 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
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 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
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 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