Project

General

Profile

Actions

Emulator Issues #12870

open

Netplay: Local default fallback region affects autodetected region for homebrew.

Added by AdmiralCurtiss over 2 years ago. Updated over 2 years ago.

Status:
New
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

Game Name?

Any homebrew or other software that we can't autodetect a region for.

What's the problem? Describe what went wrong.

If the host's and client's autodetected region disagree, various region-dependent settings get initialized differently, which is not conducive to a synced game experience.

What steps will reproduce the problem?

The Host should have the fallback region on PAL and have PAL60 disabled, the Client should have the fallback region on NTSC. Open a netplay session and start. Observe an immediate desync because the host starts in 50Hz but the client in 60Hz.

Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.

Yes, 5.0-16183


Someone on Discord tipped me off about this (I think they were using some Brawl mod that has a custom boot homebrew), and sure enough, even though we sync the fallback region this situation breaks. So I started digging.

The offender seems to be here:
https://github.com/dolphin-emu/dolphin/blob/379de5de15dbacb26ba95335c6033bc6e673570f/Source/Core/Core/BootManager.cpp#L64-L65
https://github.com/dolphin-emu/dolphin/blob/379de5de15dbacb26ba95335c6033bc6e673570f/Source/Core/Core/ConfigManager.cpp#L377-L378
https://github.com/dolphin-emu/dolphin/blob/379de5de15dbacb26ba95335c6033bc6e673570f/Source/Core/Core/BootManager.cpp#L87-L92

The call to SetPathsAndGameMetadata() sets the current game region according to the fallback if it can't detect what the game is, but the netplay settings only get applied after that happens. This should be fixable by just moving some lines around, I think.

Actions

Also available in: Atom PDF