Emulator Issues #11804
closedWrong game title displayed when using a channel that has the same ID as the inserted disc
0%
Description
Game Name?
- Wii Fit (and Wii Fit Channel)
- Mario Kart Wii (and Mario Kart Channel)
- Probably also Wii Fit Plus (and Wii Fit Plus Channel)
- Maybe also Rabbids Go Home (and Rabbids Channel)
Game ID?
- Wii Fit and Wii Fit Channel:
RFNE01
- Mario Kart Wii and Mario Kart Channel:
RMCE01
N.b. the wiki has incorrect game IDs for several of the game channels.
MD5 Hash?
- Wii Fit:
f3a74ecfd4236156a62f7fb5170128ad
- Wii Fit Channel:
7ab82a9f358ff4979b5e96c691394c11
- Mario Kart Wii:
bb7f2c926cbcdee65e2a48b7002a52ea
- Mario Kart Channel:
f6d01173ac8b221fc9ac677a65b89703
What's the problem? Describe what went wrong.
If a game has a channel with the same ID, Dolphin will assume that it is the disc version of the game running if the disc is inserted, even if it is the channel that is in use. This leads to confusion, though it doesn't appear to make any difference in terms of behavior (unless perhaps it loads the wrong game configuration as well, but that seems unlikely and I'd expect them to share a configuration anyways). In particular, it is not actually running the game off of the disc, even though it looks like it is. This issue only occurs if the disc and channel match.
This is easiest to see with the Mario Kart Channel, as it and the game are fairly different looking.
This can also be seen with the Wii Fit Channel, but since it looks almost identical to the actual game, it's harder to identify. I only was able to tell by what happens if I eject the disc while running; on the channel (designed to work without the disc for some parts), opening the settings menu (which needs the disc) prompts for inserting the disc. On the other hand, the actual game will let you open the settings menu with the disc removed, but will complain about the missing disc once e.g. the credits are opened. Further confusing matters is that the Wii Fit Channel will switch to Wii Fit when it actually loads data off of the disc (and once it has switched to the disc, it will continue to read off of the disc).
I haven't tested the Wii Fit Plus Channel because I don't want to go through setup for it. I haven't tested the Rabbids Channel because I don't own the game.
What steps will reproduce the problem?
- Start a game that comes with a channel (e.g. Mario Kart Wii).
- Observe that the title of the game as indicated in the window title is
Mario Kart Wii (RMCE01)
or similar. - Install the channel (for Mario Kart Wii, select "Settings" on the License screen, then Mario Kart Channel, then follow the steps on screen).
- Go to the Wii Menu from the HOME menu.
- Eject the disc. (Do this on the Wii Menu to avoid #8115, which makes things more confusing but doesn't seem to directly affect this bug).
- Start the channel.
- Observe that the title of the game as indicated in the window title is
Mario Kart Channel (RMCE)
(or similar), and that the channel was launched (in the case of Mario Kart Channel, there will be a globe background and there is no title screen). This is correct behavior. - Return to the Wii Menu from the HOME menu.
- Change discs back to the game with the channel (i.e. Mario Kart Wii).
- Start the channel.
- Observe that the title of the game as indicated in the window title is
Mario Kart Wii (RMCE01)
(or similar), despite it being the channel. This is the bug.
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, 10648.
Is the issue present in the latest stable version?
No, it is not present in 5.0, as 5.0 does not display the game's name.
If the issue isn't present in the latest stable version, which is the first broken version?
This was introduced in build 5.0-3825 (pull request 5429). That introduced displaying the game title; the previous build (5.0-3819) did not support it.
What are your PC specifications?
- CPU: AMD A6-340M APU with Radeon(tm) Graphics, 1500 Mhz, 4 Core(s), 4 Logical Processor(s)
- GPU: AMD Radeon HD 6520G
- OS: Windows 10 Pro (Insider preview) 10.10.18362 Build 18362
Is there anything else that can help developers narrow down the issue?
I was pointed to this code in VolumeVerifier.cpp
that has a list of games with channels by JosJuice in #dolphin-emu at 2019-07-12 20:27:40 (UTC). That code probably isn't responsible though.
I see that the channel names are specified here in wiitdb-en.txt
, as a 4-letter name. Wii Fit itself is specified here as a 6-letter name. That's probably relevant, but I haven't investigated further.
Updated by pokechu22 over 5 years ago
The relevant code seems to be SConfig::SetRunningGameMetadata
and DVDThread::UpdateRunningGameMetadata
, the latter of which checks if a game is running off of a disc by checking if a disc is inserted and the running title ID matches that of the inserted disc. Similarly, DVDThread::IsInsertedDiscRunning
checks if there is a disc inserted and the game ID matches. I'm not sure how those checks would need to be changed to actually distinguish this case, though. (I started writing this before assignment was changed, so hopefully it's still helpful)
Updated by JosJuice over 5 years ago
I happened to already know that, but it doesn't hurt to have the information written down somewhere for others to read.
Updated by JosJuice over 5 years ago
- Status changed from New to Fix pending
Please test this build: https://dl.dolphin-emu.org/prs/pr-8256-dolphin-latest-x64.7z
Updated by pokechu22 over 5 years ago
That build appears to have fixed it, for both the Mario Kart Channel and Wii Fit Channel. This includes the transition between the Wii Fit Channel and Wii Fit itself; it correctly updates to Wii Fit after the transition. Thanks!
Updated by JosJuice over 5 years ago
- Status changed from Fix pending to Fixed
- Fixed in set to 5.0-10695