Skip to content
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

[Suggestion] Soft-patching improvements #13277

Open
andiandi13 opened this issue Nov 23, 2021 · 9 comments
Open

[Suggestion] Soft-patching improvements #13277

andiandi13 opened this issue Nov 23, 2021 · 9 comments
Labels
feature request New enhancement to RetroArch. patching

Comments

@andiandi13
Copy link

Recently Multi soft-patching was added through #11792

While it's a great feature, having patch files with random names is not convenient, we can't identify which patch is what.

1- I suggest that every character after the patch extension (.ips / .ips1 / .ups / .ups2 ...) would be ignored so that we can add a custom name after it, like that :

Castlevania - Harmony of Dissonance (USA).gba
Castlevania - Harmony of Dissonance (USA).ips-no-blue_outlines
Castlevania - Harmony of Dissonance (USA).ips1-music-overhaul

@eadmaster @Sanaki

2- Also, I take this opportunity to remind of that feature request #10135 which would make roms management way easier. I 'm suprised that RA doesn't feature this manual patch selection menu when it forces us to duplicates rom files + save files just for translations or small hacks.

Thanks to all contributors for considering this.

@eadmaster
Copy link
Contributor

eadmaster commented Nov 23, 2021

1- I suggest that every character after the patch extension (.ips / .ips1 / .ups / .ups2 ...) would be ignored so that we can add a custom name after it, like that :

Honestly i do not like having custom fantasy extensions like these. Some reasons are: 1. that they make filetype-based associations impossible, 2. harder to write code for them.

I think these would be more manageable, as i've suggested here:

Castlevania - Harmony of Dissonance (USA).gba
Castlevania - Harmony of Dissonance (USA) (no blue outlines).ips
Castlevania - Harmony of Dissonance (USA) (music overhaul).ips
...

(the parentheses are only for decoration, the general format is "rom filename + anything + .ips" )

They could be implemented using retro_opendir() and readdir(), but the performance cost would be higher than the current solution.

Btw, as i've said i do not plan to work on this anytime soon, so i'm just sharing my ideas in case somebody wants to drop in...

I 'm suprised that RA doesn't feature this manual patch selection menu when it forces us to duplicates rom files + save files just for translations or small hacks.

I think this is a better solution from the user perspective, but it requires some more involved work on the code side.

@DisasterMo
Copy link
Contributor

(the parentheses are only for decoration, the general format is "rom filename + anything + .ips" )

Yeah, that won't work. Simple example:

game_name.x
game_name 2.x

game_name 2 anything.ips would be applied to both, wouldn't it?

@eadmaster
Copy link
Contributor

usually properly-named roms should have a region tag after the title, so:

game name (region) anything .ips
game name 2 (region) anything .ips

It won't produce false matches, since "game name (region)" != "game name 2 (region)"

But, of course, if the roms aren't renamed properly you may still have false matches like in the example you made.

@Sanaki
Copy link
Contributor

Sanaki commented Nov 23, 2021

While slightly less convenient, there's the option of keeping a text file in the directory with patch names, one per line. Assuming fixed name format, could even reference that name in the widgets to specify which patches are being applied.

By extension, that could be used to specify custom named patches to load in order rather than just names.

For example:
Castlevania - Harmony of Dissonance (USA).gba
Castlevania - Harmony of Dissonance (USA).patchlist

no blue outlines.ips
music overhaul.ips

@eadmaster
Copy link
Contributor

@Sanaki: looks exactly what was suggested here.

@andiandi13
Copy link
Author

While slightly less convenient, there's the option of keeping a text file in the directory with patch names, one per line. Assuming fixed name format, could even reference that name in the widgets to specify which patches are being applied.

By extension, that could be used to specify custom named patches to load in order rather than just names.

For example: Castlevania - Harmony of Dissonance (USA).gba Castlevania - Harmony of Dissonance (USA).patchlist

no blue outlines.ips
music overhaul.ips

Interesting. So if such a thing could be done, what about an option like that

ipspatches

You'd manually select all .ips/.ups files you want RA to load for that rom at start (at it'd be saved in a file like you mentioned .patchlist or whatever)

It seems feasible to me.

@eadmaster
Copy link
Contributor

eadmaster commented Nov 23, 2021

You'd manually select all .ips/.ups files you want RA to load for that rom at start

You may also load a patch after the content is loaded, if you do a forced-reset after applying. So my idea was to add a menu entry "Load patch..." that will open a file browser.

Technically a lot of things are feasible here, but i'd like to focus on a solution that is more reusable in different contexts and at the same time not too complicated to implement.

I think i've made my point for the ideal solution in this post here (at least from my user perspective, the implementation is much more involved than this but i've already considered working on it in the past).

@andiandi13
Copy link
Author

I agree a "Patch and run" menu would really be the ideal solution.

@Sanaki
Copy link
Contributor

Sanaki commented Nov 23, 2021

You may also load a patch after the content is loaded, if you do a forced-reset after applying.

This should never happen. So many issues if it did.

@LibretroAdmin LibretroAdmin added feature request New enhancement to RetroArch. patching labels Sep 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New enhancement to RetroArch. patching
Projects
None yet
Development

No branches or pull requests

5 participants