libretro / libretro/parallel-n64
BSV recording/playback broken
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 407
- Forks
- 151
- Avg merge
- 11h 53m
- Merged PRs (30d)
- 11
Description
.bsv files recorded with the hotkey during gameplay aren't replayable from CLI because the retro_unserialize refuses to load savestates while it's still not initialized.
But even doing a from-the-beginning recording results in erratic behavior, where clearly the values being replayed don't correspond to the buttons being pressed. e.g...
retroarch -L ./parallel_n64_libretro.so -R foo.bsv majora.n64
retroarch -L ./parallel_n64_libretro.so -P foo.bsv majora.n64
as a test, I opened the first save file, walked to the owl statue in clock town, and talked to it.
when i replayed the string, it opened the first save file, then paused, shuffled around in the subscreens, and unpaused repeatedly.
is this something we could ever expect to work? i didn't dig deeper just yet, but my assumption is that perhaps mupen may not call input_state in a deterministic order like the .bsv format assumes (by nature of being a raw dump of input_state return values)?
Contributor guide
No contributing guide indexed for this repository
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 reproducing the CLI commands with parallel_n64_libretro.so and foo.bsv, then inspect the retro_unserialize and input_state paths mentioned in the report. Done means determining whether recording and playback can be made deterministic, including loading a savestate before initialization, and confirming that replayed inputs match the recorded actions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- game-dev
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100