libretro / beetle-psx-libretro

Standalone port/fork of Mednafen PSX to the Libretro API.
GNU General Public License v2.0
303 stars 130 forks source link

DualShock not supported for early PS1 Games #83

Open Catarax opened 7 years ago

Catarax commented 7 years ago

If you play a game like Dragon Ball GT Final Bout with a Dualshock, you'll not be able to play the game :

56d4c65256f640bd970ce28685cd1d8e Along with Tekken 2, Rayman 1, Disney Hercules...

That's normal, ok but I would like you to not having to switch everytime just for having the rumble feature.

I've reported this error for the LilyPad plugin of PCSX2 back in the days and they were able to fix the issue in order to play the game despite the dualshock option activated. (https://github.com/PCSX2/pcsx2/issues/1348)

The line of code they used: if (pad->mode == MODE_DIGITAL && config.padConfigs[query.port][query.slot].autoAnalog && !ps2e) {pad->mode = MODE_ANALOG;}

Hope you can do the same for Beetle-psx, thanks!

simias commented 7 years ago

Don't you need a game database to know whether or not it supports DualShock? I can't think of an other way...

Catarax commented 7 years ago

I'm asking a better support for DualShock on early games because they have trouble to run due to their analog feature, that's all. This is fixable since PCSX2 was able to fix their plugin. I don't need a database, the game itself will tell me that I can't play at startup or else the controller will be not usable during the game.

Papermanzero commented 5 years ago

This is however an accurate emulation. If you need the classic controller, switch in the controller options to classic controller. Set the default to dual shock.

Catarax commented 5 years ago

Yes sure but original mednafen switch automatically for games like that, you don't have to bother. Anyway I switched over this one one since.

Rican7 commented 3 years ago

Don't you need a game database to know whether or not it supports DualShock? I can't think of an other way...

So after a lot of my own research with this, I realized that libretro itself actually has such a database:

Rican7 commented 3 years ago

... in which case, would it be possible to somehow query for this database metadata upon the loading of a game/content and default certain options based on it?