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

Input Editor - Autorestore playback position #134

Closed
vadosnaprimer opened this issue Dec 27, 2018 · 1 comment
Closed

Input Editor - Autorestore playback position #134

vadosnaprimer opened this issue Dec 27, 2018 · 1 comment
Labels

Comments

@vadosnaprimer
Copy link
Contributor

vadosnaprimer commented Dec 27, 2018

This idea originates from FCEUX, but there it fully depends on savestates being done very frequently and automatically. This it what it does:

If you are at frame 100 and you change input at frame 90 (for instance), the emulator would load the nearest savestate above frame 90 (for instance, state at frame 89), and replay your movie up to the frame 100 again, pausing there.

When there's automatic functionality for this, it speeds up tedious TASing routine tremendously. Without it you have to switch modes, edit input, switch modes, watch, or just record all the macro you need on that segment all over again, with a single button changing, and then you also have to stop at the same frame you were at originally, to make the comparison faithful. You would probably keep the best attempt in a savestate, comparing to it by loading repeatedly.

What aspects of libTAS are in the way of autorestore? The only issue I'm seeing is unpredictable gap between savestates. What if this is resolved by a max autorestore interval?

You set this interval to 20 frames. You are at frame 100. You edit input at frame 90. If the nearest state is farther back than frame 70 (90-20), nothing happens. If you happen to have a state at frame 80, the tool would load it and replay from there up to frame 100 again, and pause there.

With this functionality, all you have to do to find the first frame to press a button is just clicking a single input roll cell repeatedly.

@clementgallet
Copy link
Owner

Implemented in eb31114

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants