libretro / libretro/RetroArch

Unexpected behavior when configuring Run-Ahead/Preemptive frames setup/save.

Open
#15,522 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

When Run-Ahead or Preemptive frames is enabled in the main menu, the default value is 1 frame. If I change the value in a game, the default value in the main menu also changes:

  • I activate Run-Ahead in the main menu, default to 1.
  • I load Mario Bros 1, needs 1, nothing to do.
  • I open King of Fighter 98, it needs 5 frames and set them in the quick menu.
  • I load Mario Bros again and it defaults to 5.

When I try to save an override, if the required frame value of the game is the same value as the main menu, it doesn't save:

  • I activate Run-Ahead in the main menu, defaulting to 1. (If I activate Run-Ahead in the quick menu and save the override, the activation line "true" is also saved, I only need the frame line).
  • I open Mario Bros 1, which has 1 frame of latency.
  • I try to save the override, and it says "Nothing to save. Overrrides not save."

If I activate Run-Ahead in the main menu and set it to another value, for example 12.
I open any game, change the value to 1 and save.
And I have the file only with the frame line at 1.

Some suggestions.

When activating Run-Ahead/Preemptive frames in the main menu, don't have value. Every time a game is loaded always be at 1, and if a game requires more frames, the override file is saved.

This is useful, because it avoids the above problem and avoids having to create values at 1 (which most classic games are) and only values from 2 onwards are created.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the Run-Ahead/Preemptive frames sequences through the main menu, quick menu, and game loading flow. Trace how the frame value is carried into per-game overrides and how the override save decision detects changes; done means the described defaults and save cases behave as intended.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.