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

Send connect codes to game during playback #413

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

Conversation

Walnut356
Copy link

@Walnut356 Walnut356 commented Nov 7, 2023

Goes hand in hand with this PR for the gecko codes.

Sends 40 additional bytes in the Game Info Block that contain connect codes.

TL;DR this allows dashboard applications that read into dolphin's memory during playback (e.g. M'Overlay) to reliably auto-grab the port# of a specific player. This is especially helpful for replay queues where the same connect code changes ports from replay to replay

I long-posted about this in the discord, but suffice it to say the alternatives all kinda suck. The only place they currently exist in dolphin's memory at all is in the metadata element [somewhere in dolphin's heap]. The location isn't quite reliable enough to narrow down search locations and keep the scanning overhead low. Trying to find the filename (and somehow match that to the currently running game) isn't much better unless you also build your app to send the replays to dolphin in the first place.

This is my first time directly modifying the ASM and dolphin so let me know if anything needs to be changed. I was able to compile and run a replay to confirm that nothing seemed immediately broken, but I'm not sure I'd even be able to tell what broke lol.

A quick pass with Cheat Engine also confirmed that the connect code showed up within spitting distance of the display names as expected.

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