TASEmulators / TASEmulators/BizHawk
Warn the user before closing if the cycle count won't be saved properly
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 2.8k
- Forks
- 468
- PR merge metrics
- No merged PRs in 30d
Description
Similar to #2203, but distinct. Generally, TASers will want to know if the cycle count for Game Boy movies will not be saved properly, since it's the most precise mechanism for timing. The only way to calculate the cycle count is to emulate to the end of the movie (because VBLANK frames on Game Boy can have differing amount of cycles).
With my changes in #2337, this is slightly improved because the cycle count will then only be saved if it's guaranteed to be valid. However, this still doesn't prevent the user from forgetting to seek to the end of the movie to save the cycle count, it only prevents them from saving the wrong cycle count by instead saving no cycle count at all.
Note: we could also provide an option in the nag UI to have the movie session automatically seek to the end of the movie and save the cycle count. This would make saving it properly very convenient for the user.
In IRC, this was discussed, and I don't think it's necessarily a good idea for 2.5 at this point, but I think it's worth considering for the future.
More specifically, this is not a simple as it may first seem:
- Nagging the user about cores where the cycle count can be inferred from the frame count seems annoying and pointless. If more cores expose their cycle count in the future, this doesn't mean the user needs to be nagged about not reaching the end of the movie for those cores.
- Every exit-based interaction like this can become complicated. For instance, how is importing into TAStudio from a current movie session going to be handled?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the related issues #2203 and #2337, then trace how closing a movie session and importing into TAStudio are handled. Define the exit interaction and identify which cores need a warning when the cycle count is not guaranteed valid; done means the behavior is specified for those cases without unnecessary nagging.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100