AmatCoder / mednaffe

A front-end (GUI) for mednafen emulator
GNU General Public License v3.0
420 stars 35 forks source link

Suggestions: Per-Game configurations & System specific game lists #38

Closed Rekrullurker closed 7 years ago

Rekrullurker commented 7 years ago

It would be helpful if you were able to save a unique configuration for individual games. This would be especially nice for being able to customize the controls on a per-game basis. For example, I typically like to use the keyboard for playing pinball games and some games just have awkward default button mappings that I prefer to change. Here's how it could work;

In the game list, there's a new button at the bottom labeled something like "Edit game config". The user selects a game and then clicks this button. They are then taken to a special version of the Systems configuration screen which they wouldn't be allowed to leave until they either apply the changes or click Cancel. They make the desired changes and click Apply and those changes are saved to a separate INI file, named after the game file, in a subdirectory. Or they click Cancel to discard the changes. They would then be returned to the Games List. When the user later loads that game, the custom settings will override the default ones. Any game with a custom config would be indicated in the Game List by being shown in bold, a different color, or with an icon. If a game already has custom settings, they will be read from the custom INI file when the user elects to edit that game's configuration. There should also probably be a Clear button to easily wipe custom configs (after confirmation!). Any game without custom settings would just inherit the default settings as they do now. Since there will probably be a lot less custom configs than total games, Mednaffe probably should look for the custom configs first, and then look for matching games rather than the other way around.

I'd also like to suggest that the Game List screen have buttons across the top for each system that Mednafen supports. It would remember the last directory selected for each system and automatically jump to it when the button for that system was clicked. For example, if the user clicks the NES button, it would jump to the last used directory for that system. If the user then chooses a different directory while that system is selected, it would become the new default for it and would be displayed whenever that button was clicked. In effect it would be like setting paths for each system, except that it would be done seamlessly from the Game List screen and could be changed on the fly by just browsing to a different directory.

I realize that you can more or less already do this with the drop down box that shows recently accessed directories or the Add Folder button, but I think it would be more polished if there were specific GUI buttons to jump to the games for each system. Also, the buttons should stay depressed to serve as a visual indicator of what games you're currently viewing. Not only would it simplify jumping between game lists, it would be less confusing for those who aren't that computer literate and who may have had Mednaffe/Mednafen set up for them by someone else. Once configured they just select the system they want and double-click the desired game.

AmatCoder commented 7 years ago

Suggestions are good, thanks.

But those suggestions are extremely difficult to implement now. It would require an almost complete rewrite of mednaffe. And it won't be happening in the near future, sorry.