PCSX2 / pcsx2

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

[Feature Request] UserHacks in GameIndex.yaml #4374

Closed tony971 closed 3 years ago

tony971 commented 3 years ago

Description Some games require specific user hacks to function correctly. These settings shouldn't be used universally, but defaulting on for games that need it would be very helpful.

Reason Game runs correctly by default vs running incorrectly, checking the wiki, enabling a hack manually, and disabling manually when switching to a different game.

Examples Harry Potter and the Chamber of Secrets requires Framebuffer Conversion hack to avoid this garbage: Screenshot (5)

RedDevilus commented 3 years ago

It would be better to have this idea as Per-game configuration in a gamelist like other emulators do instead of bloating the Gameindex.yaml

lightningterror commented 3 years ago

Frame buffer conversion isn't a good solution btw, it would be better to fix the edge case and get rid of the hack completely.

tony971 commented 3 years ago

It would be better to have this idea as Per-game configuration in a gamelist like other emulators do instead of bloating the Gameindex.yaml

Agreed. Things like MTVU could be disabled on a per-game basis as well.

Frame buffer conversion isn't a good solution btw, it would be better to fix the edge case and get rid of the hack completely.

It would be better if all hacks were made irrelevant, yes. But that will most likely take years.

RedDevilus commented 3 years ago

I have actually tried to do MTVU as an option in the GameIndex, however in the development builds 1.7 only 2 games that we know of (Transformers + a demo game) is broken with it compared to the dozen of the stable version due to this PR: https://github.com/PCSX2/pcsx2/pull/4035 So there is no point anymore to include it there.

tony971 commented 3 years ago

Yes, but having it as a per-game configuration for Transformers and possibly the Sly Cooper series would allow removing the option from the GUI entirely.

RedDevilus commented 3 years ago

Why would we remove a valuable option from the GUI? The same could be said about the other manual game fixes as well then. I disagree with that statement.

I get removing stuff like hacks, but hiding stuff like that isn't nice for normal endusers.

tadanokojin commented 3 years ago

Framebuffer conversion is slower than piss. Enabling it by default on a per-game basis would make the game run poorly on many people's machines who may prefer to find other ways to deal with the issue. It's not PCSX2's job to decide which per-game graphical hacks should be enabled in order to address the problem and that's why those hacks are exposed to the user so they can make their own educated decision. Regulating that to a bunch of developers to decide for them is just going to result in flame wars over which option gives the better result, something that is going to be, at the end of the day, a value judgement. That's just the obvious "enable this and get rid of garbage" hacks. Many of these hacks cause as many problems as they fix making deciding then to or not to use them a crap shoot.

If you want PCSX2 to provide functionality that will allow users to configure these things and for PCSX2 to remember them on a per-game basis (game list) then I'm more supportive of that idea. But as for the idea of automatic graphical hacks I'm strictly opposed. While I support the idea of making the emulator easier to use you can't simply hide away the underlying complexity of emulating the GS on the hardware renderers.

Cloneg commented 3 years ago

If you need per-game config, you can use --cfgpath=inis\Name https://forums.pcsx2.net/Thread-Per-Game-Config-Settings?pid=532185#pid532185 Also you can use a frontend like Playnite for a semi-automated process. "{ImagePath}" --cfgpath="inis{ImageNameNoExt}"

RedDevilus commented 3 years ago

There is also PCSX2 specific frontends like PCSX2Bonus, Spectabis. Or general like Launchbox, GOG Galaxy, etc . Enough 3rd party choices.