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

Checkpoint autosaving #1174

Merged
merged 4 commits into from
Sep 28, 2024
Merged

Checkpoint autosaving #1174

merged 4 commits into from
Sep 28, 2024

Conversation

NyakoFox
Copy link
Contributor

@NyakoFox NyakoFox commented Jun 5, 2024

Changes:

This is a small PR that adds mobile VVVVVV's behavior of saving on checkpoints. It quicksaves whenever your checkpoint gets set, either by touching a checkpoint or setcheckpoint(). On by default on Android, off otherwise. Can be manually overridden through settings.vvv.

Legal Stuff:

By submitting this pull request, I confirm that...

  • My changes may be used in a future commercial release of VVVVVV
  • I will be credited in a CONTRIBUTORS file and the "GitHub Friends"
    section of the credits for all of said releases, but will NOT be compensated
    for these changes unless there is a prior written agreement

@InfoTeddy InfoTeddy self-assigned this Aug 2, 2024
Copy link
Collaborator

@InfoTeddy InfoTeddy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the game fails to quicksave, there is no indication to the user (besides console output) that it has failed.

Also, this adds a new settings bool but there is no way to toggle it without manually editing the file. Should we add a menu option to toggle it?

Also (and this doesn't have to be done right now), I was wondering if we should add some sort of indication for a successful quicksave. Nothing as big as the teleporter "Game Saved" but something like a rotating icon in the corner that other games do would be good. (Of course it would be slightly misleading because we block the entire game thread for the write but it would still get the point across.)

@NyakoFox
Copy link
Contributor Author

NyakoFox commented Sep 26, 2024

Also, this adds a new settings bool but there is no way to toggle it without manually editing the file. Should we add a menu option to toggle it?

Honestly, it feels like something that you should manually have to toggle if you know what you're doing -- we don't want people on Android to lose their progress. However, if people disagree, I can add a menu option.

@InfoTeddy
Copy link
Collaborator

Honestly, it feels like something that you should manually have to toggle if you know what you're doing -- we don't want people on Android to lose their progress. However, if people disagree, I can add a menu option.

A menu option would still be manually toggling it, and Android players would know fully well what the option does based off the name and description. If they decide to toggle it, that's on them.

In my last commit, I accidentally inverted whether the description says
ON or OFF.
Copy link
Collaborator

@InfoTeddy InfoTeddy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Attempts to quicksave are made in Time Trials, Intermission replays, No Death Mode, and custom levels, but they fail, so the error text box displays. (The Secret Lab doesn't have checkpoints so in practice it couldn't happen, but this issue also applies there.)

In particular we might want this feature to work for custom level quicksaves too. 😛 Anyone know what the current mobile version behavior is for custom levels? I would hope it automatically writes custom level quicksaves too.

desktop_version/src/Entity.cpp Outdated Show resolved Hide resolved
desktop_version/src/Script.cpp Outdated Show resolved Hide resolved
@Daaaav
Copy link
Contributor

Daaaav commented Sep 26, 2024

😛 Anyone know what the current mobile version behavior is for custom levels? I would hope it automatically writes custom level quicksaves too.

Yep, custom levels also autosave on mobile.

This also makes the save failed textbox not appear in special modes,
and allows custom levels to quicksave from checkpoints as well.
@InfoTeddy InfoTeddy merged commit c04c6bc into TerryCavanagh:master Sep 28, 2024
3 checks passed
@NyakoFox NyakoFox deleted the autosaving branch September 28, 2024 00:17
@InfoTeddy InfoTeddy mentioned this pull request Sep 28, 2024
2 tasks
@NyakoFox NyakoFox mentioned this pull request Sep 30, 2024
9 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants