-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sio Phase 2.5 - Rewrite Pad Support + Add Guitar #8480
Conversation
3650a75
to
2f58015
Compare
Sky Odyssey left Analog doesn't work on the PR |
How about true crimes Los Angeles. Does it still require second controller to be in? |
Yes. Best I can tell that is a SIF problem made happy by the additional pad data saturating the bus. Without the extra data it seems to trip over itself. |
Sky Odyssey is fixed Thanks :) |
c447223
to
19bf407
Compare
Not sure why it causes crashes, but Clearly clang thinks you have a 100% chance of hitting UB here. If anyone knows what UB we're hitting, that would be interesting to know.
|
55d856b
to
4ebccc6
Compare
Virtual destructor added fixes Mac build, and fixed a couple regressions that popped up from rebase. |
Requesting review for input recording - no clue if what I did will have broken it or not. If I understand it right, PadData.cpp is really the only thing affected and it seems okay? But I can't be 100% sure. |
Regarding input recording, it seems they don't errate if starting from savestate right after loading any game (except for games where clock seed is very sensitive). Every tests I've done with power-on always desync at the very first moment of actual gameplay. Though even with the 'from savestate' workaround there are moments where a desync will occur. Note that this issue is happening on the main dev builds. |
Mildly interesting, but if the behavior is consistent with the actual nightly releases, that means my changes didn't break anything... I think... It sounds more like input recording just isn't quite working right to begin with at this time? |
I think it has to do with CDVD timing discrepancy between playbacks rather than something wrong in how inputs are polled. This also affects recordings from savestate but they are much less frequent. |
2ee4899
to
8397535
Compare
d2561e8
to
7775a7d
Compare
9ef6184
to
13d988f
Compare
Force pushed because git hates me [SAVEVERSION+] Bump savestate version CI: Update locations of pad/memcard sources Discard leftover old PAD code Fix additional merge oddities Add translations for OSD messages Copyright headers Version bump Fix a whole boatload of concurrency problems from file moves and other miscellaneous update problems Partial redo of PS1 pad support Fix incorrect mode due to analog behavior at startup Mostly reimplement SIO0 memory card logic Still needs pocketstation Use new runtime wrapped translate function Dead code Fix multiple port/slot/presence issues for PS1 Save State version bump Clean up some duplicate/unused headers More header consistency Remove old stray files Fix incorrect return Fix uninitialized array Add missing overrides Switch to init/close model used by other subsystems Remove old input recording references Rename SIO globals Rename SIO2 FIFO globals Remove commented SIO0 code for illegal write Add guitar icon
13d988f
to
c3b27bb
Compare
Just seen this commit in Crowdin and the "Analog light is now {} for port {} / slot {}" string at pcsx2/SIO/Pad/PadDualshock2.cpp:644 needs two custom "On"/"Off" strings so non-English languages can match the gender/number of "Analog light". |
Description of Changes
Rationale behind Changes
Old pad code was soup, had issues with DS2 mode.
Suggested Testing Steps
To-Do
Un-scuff the guitar mapping image.Casualties of War
PS1 mode is inoperable, SIO0 is disconnected from the pads for now.