PCSX2 / pcsx2

PCSX2 - The Playstation 2 Emulator
https://pcsx2.net
GNU General Public License v3.0
11.83k stars 1.63k forks source link

[Feature Request]: D-Pad Left and Right button inputs for Guitar controller port type #11853

Open ThunderDragonRandy opened 1 month ago

ThunderDragonRandy commented 1 month ago

Description

While all other button and axis inputs are available for the Guitar controller port type, the only ones missing for Guitar controller is D-Pad Left and D-Pad Right, as Strum Up and Strum Down cover D-Pad Up and Down for most guitar controllers.

A while back, D-Pad was added to Rock Band USB Drums. https://github.com/PCSX2/pcsx2/pull/11232

Reason

While D-Pad Left direction and D-Pad Right direction are rarely used in Guitar Hero and Rock Band games (and are often used in navigating in a console's dashboard), one Guitar Hero game that can utilize Left and Right D-Pad inputs is the Music Studio feature in Guitar Hero World Tour. Oddly enough, the Music Studio/GHStudio feature is lacking in other PlayStation 2 versions of Guitar Hero games but Guitar Hero World Tour is the only port that has it, which includes Recording Studio (live recording with a band) and GHMix (the editor as shown in the images).

Anyway, while the Music Studio is an optional feature in Guitar Hero World Tour, you can make custom songs for yourself on it but to make the most out of it, you need to use the D-Pad Left and Right inputs to change note snapping (whole note length, half note length, quarter note length, 1/8 note length, 1/16 note length, etc.) when editing in GHMix and it's currently not possible to do that when editing in Guitar input mode.

EDIT: I noticed as I look back at the game and screenshot that I can hold the Select/Strum Bar button and Strum Up and Down to alternately change Note Snapping, but quickly adding in D-Pad Left and Right inputs would be a nice QoL addition. But I haven't played Rock Band games much so I wonder how often the D-Pad Left and Right directions are used for Rock Band games' in-game features.

Examples

Guitar Hero - World Tour_SLUS-21781_20240927172625 image_2024-09-27_172848216

RedPanda4552 commented 1 month ago

Can you provide more information on what guitar models these are? We will need to source one or find someone who has one who can provide test data.

ThunderDragonRandy commented 1 month ago

Can you provide more information on what guitar models these are? We will need to source one or find someone who has one who can provide test data.

I have a PlayStation 3 Guitar Hero World Tour Wireless Guitar Controller that I personally use for PC, with its PS3 USB dongle. PS3 guitar controllers on PC works mostly fine except guitar tilt axis, which is just an issue for PS3 guitar controllers on PC generally, but the PS3 GHWT Wireless Guitar Controller has a conveniently placed Select/Back/Star Power button that I don't need to use tilt for it (hence why I don't have that mapped).

I also do have an Xbox 360 Rock Band 2 Wireless Stratocaster Guitar Controller, but I no longer have a working Xbox 360 to PC adapter for that since mine no longer works.

However, just about every guitar controller features a D-Pad on its body or sticks that still act as a D-Pad.

The Clone Hero Wiki provides information on guitar controllers compatible on PC including first-party controllers, as well as guitar controllers recommended on PC and third-party/bad first-party guitar controllers to avoid. There is also the new PDP Riffmaster Wireless Guitar Controller which can be a bit expensive and Xbox One/Series X/S model is compatible with PC, but not PS4/5 version presumably is not.

The Clone Hero Wiki also has a troubleshooting guide and other pages that may/could help (I haven't checked them all). Here is a spreadsheet that lists PC compatibility for each guitar controller of each system and issues they would have, though the spreadsheet does look intimidating to look at.

Instrumental controllers can still be obtained on Amazon or eBay from third-party sellers but they do get more expensive as the years go by so the only official guitar controller still being produced is the PDP Riffmaster Wireless Guitar Controller, which retails at $129.99 USD / £130 / $199.99 AU but I hope the input data for that isn't too different than legacy instrumental GH/RB controllers.

I hope all this information I provided can provide some information you need.

RedPanda4552 commented 1 month ago

Talking about PS2 guitars here, I need to know what models have d-pads so I can get an idea of where to start looking.

All the standard ones do not have them so we need to know what controllers to look for, so we can reverse engineer their identity commands. Once we have that then we can add another controller type to the selector list for this new guitar type.

ThunderDragonRandy commented 1 month ago

Talking about PS2 guitars here, I need to know what models have d-pads so I can get an idea of where to start looking.

All the standard ones do not have them so we need to know what controllers to look for, so we can reverse engineer their identity commands. Once we have that then we can add another controller type to the selector list for this new guitar type.

Ah, I see. Sorry. The Clone Hero Wiki's first-party guitar controller guide that I listed does tell which controllers are available for which systems including PlayStation 2 and have images displaying if they have a D-Pad in form of a D-Pad or a stick. But I'll also list PlayStation 2 guitar controllers that feature a D-Pad below:

I'm not too familiar with Rock Band equipment but I wonder if there are also wired variations of Rock Band guitar controllers for PS2 (I know there are wired variations for Xbox 360) unless it's just the Rock Band PS2 drumkits that are USB.

Wireless PS2 guitar controllers require the specific dongle/adapter for them and I wonder if they are required for testing too. Guitar Hero World Tour Wireless Guitar Controllers for PS2 and their respective adapter/dongle can be found usually separately on eBay and they aren't too expensive, though it's hard finding them together, but separately, they are like $25-$40 each on eBay. There is a PS2 GHWT receiver being auctioned on eBay at a low price at the moment. But yeah, Guitar Hero World Tour Wireless Guitar Controllers for PS2 should be the easiest to get a hold of to be able to research from and I assume it would be the easiest to research with among the ones I have listed so far.

world-tour-ps2

On Amazon (if you prefer that market platform), some sellers are selling a PS2 Guitar Hero World Tour Wireless Guitar for over $139 to $240, some that come with a dongle and some do not (reading their seller description carefully if they provide dongle with it or not as well as their reputation), but yeah, cheaper on eBay.

As for the PlayStation 2 guitar controllers that do not feature a D-Pad (ones to avoid looking for research) are:

But I'll continue looking to see which PS2 guitar controllers feature a D-Pad and update the list.

RedPanda4552 commented 1 month ago

The next challenge then will be finding someone with one of these devices as well as a PS2 setup which is able to run homebrew over LAN.

We used this homebrew to sniff out the commands for stuff like the Pop'n Music controller. It needs to be run from ps2client on a PC on the same LAN as the PS2 running ps2link. It will spit out a bunch of text to stdout, which can then be redirected to a file and that would be enough to go off of.

Will be interested to see how these are different; my understanding was guitars fuse the dpad left bit down to identify themselves, so I wonder what these do instead.

pad-proto-tests.zip

ThunderDragonRandy commented 1 month ago

Alright.

In addition to researching the D-Pad stick for the Guitar Hero World Tour Wireless Guitar for PlayStation 2, Guitar Hero World Tour & Guitar Hero 5 Wireless Guitars also have a Slider Bar that features an axis. So far, I know that the PlayStation 3 Guitar Hero World Tour Wireless Guitar Controller that I have has a Slider Bar that acts as Z Rotation (Axis 5) input. I presume the axes are the same for the PlayStation 2 version and I wonder if that can be implemented too. Checking with Gamepad Tester on Hardware Tester the Z Rotation (Axis 5) values for each slider fret on a PS3 GHWT controller (I don't know if the axes are the same for PS2 GHWT controller) are:

I know this is slightly off-topic but just an extra thing that came to my mind while talking about researching a GHWT PS2 controller.

Meanwhile, Rock Band Guitar Controllers have 5 extra buttons called Solo Buttons so maybe looking into PS2 Rock Band Guitar Controllers may be worth looking into someday but that probably will be another issue topic for another time.

Will be interested to see how these are different; my understanding was guitars fuse the dpad left bit down to identify themselves, so I wonder what these do instead.

Ah, yeah that's something I found out when holding/pressing D-Pad Left on a DualShock 2 controller in a PS2 Guitar Hero game that it changes the controller's input to a guitar input, usually holding D-Pad Left upon booting a game but the method differs per game. In GH1, guitar input is enabled when D-Pad Left is held at anytime. In GH3, after first loading screen if D-Pad Left was held on boot up, GHWT and its spin-offs upon the second splash screen, and GH5/BH, D-Pad Left must be held at all times to put a DualShock 2 in guitar input.

Before Guitar was implemented in PCSX2 when I was testing how to trick DualShock 2 into guitar mode for these other Guitar Hero games, I once somehow got DualShock 2 into drums input and I couldn't figure out what direction/button was needed to be held for their first few splash screens to do so, unless if I accidentally had mapped my controls to Rock Band USB Drumkit at the time instead of DualShock 2.

Unless if I'm going crazy, is there a button/direction/combination for DualShock 2 to enter RB Drums mode?

RedPanda4552 commented 1 month ago

Unless if I'm going crazy, is there a button/direction/combination for DualShock 2 to enter RB Drums mode?

If there is, it isn't widely known. I would make a guess that it's dpad right, or maybe one of the other unused controls like L3 or R3.