Project

General

Profile

Emulator Issues #9988

VolumeDirectory is using UTF-8 but should be using Shift-JIS

Added by JosJuice about 2 years ago. Updated almost 2 years ago.

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

0%

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

Description

DiscIO/VolumeDirectory.cpp copies names returned by File::ScanDirectoryTree into the FST name table without re-encoding them. This is wrong, because just like with Nintendo's other GameCube/Wii formats, the FST name table doesn't use UTF-8. According to our FST reading code in DiscIO/FileSystemGCWii.cpp, Shift-JIS is supposed to be used.

This issue is likely making files with non-ASCII names be unreadable by games (but I haven't tested it).

I'm marking this issue as easy because it doesn't require much knowledge about the rest of Dolphin, which makes it suitable for new contributors. The "biggest" part of writing a fix for this would be adding a function to Common/StringUtil.cpp for converting to Shift-JIS. The other part is recursively looping through the result from File::ScanDirectoryTree and applying the new Shift-JIS encoding function to the names. (This must be done before ComputeNameSize is called!)

History

#1 Updated by JosJuice almost 2 years ago

  • Status changed from New to Fix pending

#2 Updated by JosJuice almost 2 years ago

  • Status changed from Fix pending to Fixed
  • Fixed in set to 5.0-3574

Also available in: Atom PDF