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

Fix netplay when using core netpacket interface after a recent change made for cheevos #17619

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

schellingb
Copy link
Contributor

Description

This PR adds a fix for a recent change in netplay #17416 made for cheevos. The fix is for the core netpacket interface as was introduced by #15413.
The necessary fix avoids forced exchange of the savestate when the core has enabled the core netpacket interface.

Since the netpacket interface was introduced, RetroArch's netplay implementation can operate in 2 different ways. The default is the original netplay implementation generally used for console emulators which has the frontend synchronize the complete state of the emulated hardware and controller input is exchanged among players. Instead of that, a core can now tell the frontend that it handles networking on its own by activating the netpacket interface (via environment call RETRO_ENVIRONMENT_SET_NETPACKET_INTERFACE). The frontend still handles connecting players together but after connection is established, the core running on the server and clients can communicate to each other. This is generally used to emulate LAN and internet communication via netplay. For example the DOSBox Pure core uses it to emulate DOS multiplayer games which used modem or IPX LAN networking to now work over RetroArch's netplay. So when netplay operates in this way, no state needs to be synchronized, the cores run independent and the multiplayer is started within the emulated game.

Related Issues

Related Pull Requests

#17416
#15413

Reviewers

@Jamiras maybe?

… made for cheevos

Avoid force exchange of the savestate when the core has enabled the core netpacket interface.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant