Skip to content

Conversation

@KrakenArises
Copy link

I'm new to GitHub, so you may ignore the first few accidental commits and pushes. This may be a trivial change / pull request, but this is also one I was hoping to have been implemented already initially due to me being frustrated with the lack of savestate slots (only 5 slots), which is when I took some initiative to modify the emulator code to my wants. These changes may also serve as a foundation for other Quality Of Life updates related to the use of savestates.
Here are the changes summarized:

  • (from the pull request title) Ability to adjust the number of savestate slots (from the default 5 slots, up to 100 slots)
  • Altered the auto-load logic to account for the adjustable savestate slot amount
  • Added some logic in the Pause Menu to easily set the auto-load slot from both the screenshot view and the slot view (the "Set Auto Load" slot view button can be disabled in the settings)
  • Append to the date string (in the pause menu's slot view) to show if the selected slot is the auto-load slot (without directly modifying the date string itself)
  • Made the savestate settings into a separate section in the system settings instead of being lumped with the general settings section
  • Made the previously unused HideStateWarnings config into a checkbox setting for savestate settings

I have yet to change the savestate settings in the menu bar to account for these changes and some other small things, which should not be a problem for now.

@hrydgard hrydgard marked this pull request as ready for review December 25, 2025 09:08
@hrydgard hrydgard marked this pull request as draft December 25, 2025 09:09
@hrydgard hrydgard added this to the v1.20 milestone Dec 25, 2025
@hrydgard
Copy link
Owner

If you want to, you could try git rebase -i (interactive) to squash away the extra commits, it's a nice skill to learn. Or I can do it for you.

This is a reasonable start, it does need some polish though, although I can do some of it aftewards. Like the misalignment caused by two-digit save slot numbers currently:

image

I do agree it makes sense to raise this limit, but 100 seems a bit much, it makes using the setting slider pretty awkward. Maybe 20 or 25 would be a reasonable max?

@KrakenArises
Copy link
Author

I'll try doing the rebasing whenever I have time.

I think 50 would be a good middle-ground between those who want more savestates (usually for game testing purposes like my use case which easily went beyond 25 slots) and those who want a more rigid or discrete slider. Either way, this emulator has already had more awkward sliders than this one, especially the floating point and CPU clock speed sliders, and that there's also minus and plus buttons for fine control as well as a value input in the slider menu.

Right now, I'm working on the two savestate-related feature requests in the issues tab as of when I'm commenting this (the first being the addition of savestate slot sorting in the pause menu by either slot number or date which seems easy enough to do, and the second being the savestate-exit feature which I am still figuring out). Perhaps we should discuss further in the PPSSPP Discord server how the second feature can be implemented.

@hrydgard
Copy link
Owner

That's a good point about the CPU slider, heh. This indeed wouldn't be the worst slider... Also the slider UI in general is kinda crap, I need to improve it.

I can solve the alignment issue for you btw.

I think we can merge this separately from the other improvements, it's nice to make changes not too large. So let me know when you're happy with it.

hrydgard added a commit that referenced this pull request Dec 29, 2025
@hrydgard hrydgard mentioned this pull request Dec 29, 2025
@hrydgard
Copy link
Owner

hrydgard commented Jan 7, 2026

Hi,

Are you open to having me just take over and tweak and merge it? Or do you plan to work more on it?

If it is to catch the 1.20 wave, it needs to go in soon.

@KrakenArises
Copy link
Author

Hello. It seems I may have too little time to work on this any more, so you may take over this pull request. Good luck (and skill) on whatever it is you're working on for 1.20!

@KrakenArises KrakenArises marked this pull request as ready for review January 8, 2026 08:21
@hrydgard
Copy link
Owner

hrydgard commented Jan 8, 2026

To simplify this, I'm considering just removing the ability to auto-load from a specific slot. Probably someone out there uses it, but I think it's very esoteric. Even more so is the ability to load from the oldest slot, I don't think anyone uses that :)

@hrydgard
Copy link
Owner

hrydgard commented Jan 8, 2026

I also plan to go ahead and implement auto-save on exit (in a special slot), while changing how the auto-load setting works, so we don't get another clash later.

@hrydgard
Copy link
Owner

hrydgard commented Jan 9, 2026

Decided after all to do this my way before adding exit-states.

#21113 replaces this PR, so I'm closing.

Thanks, though, for the reminder that this is a highly sought after feature.

@hrydgard hrydgard closed this Jan 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants