libretro / libretro/parallel-n64
Loading a state resets the game
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 407
- Forks
- 151
- Avg merge
- 11h 53m
- Merged PRs (30d)
- 11
Description
I am working a project that lets machine learning models train on retro games.
So far there is many libretro emulators successfully integrated such as Sega Genesis, 32x, Saturn, Super Nintendo etc. but when I tried to integrate parallel_n64 the only thing that doesn't work is loading a state because it resets the game at the beginning.
I debugged through parallel_n64 code and it seems the state is properly loaded but than after one frame it resets.
Any ideas why? parallel_n64 is the only emulator I integrated that does that. You can see the code that interfaces with libretro here:
https://github.com/Farama-Foundation/stable-retro/blob/master/src/emulator.cpp
Notes:
I tried with many games such as Mortal Kombat Trilogy, MK4, Wave Race and ClayFighter 63 1/3. The bug happens 100% of the time.
I compiled and tested the core on Ubuntu 22.04, gcc version 11.4.0
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
Reproduce the save-state failure with parallel_n64 using one of the listed games, such as Mortal Kombat Trilogy, under the reported Ubuntu 22.04 and GCC 11.4 environment. Start with the libretro interface in src/emulator.cpp, then trace the state load through the parallel_n64 code and observe what happens on the first frame. Done means loading a state no longer resets the game.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100