Dolphin, the GameCube and Wii emulator - Forums

Full Version: Problems with certain characters on folder paths
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
In Windows, it seems that Dolphin doesn't start if it's placed on a folder path that contains "#" and/or non-English characters (or if it has to deal with these paths on search for game files).

The program's window appears, but it already starts "crashed".

Also, the folder path it stores on Dolphin.ini in these cases is wrong. I believe that's the problem. Example:

H:/#Emulation/Games/GameCube

will be stored on Dolphin.ini as

H:/#Emulation/Games/GameCube#Emulation/Games/GameCube

I use this "#" character to better organize my folders and keep on top of the folder tree the ones that are most important.

Please, can someone take a look at this? Undecided
Dolphin's inifile code assumes a # character is always the start of a comment.
You could submit an issue on google code I suppose. :p
Well, I don't think it will be changed then. I have some experience with inifiles and you're right, comments starting with "#" always had been there.

OK, I can live with that. Perhaps until they start using the Windows registry. Smile
Dolphin will probably/hopefully never use the Windows registry.
Well, that's bad to hear. With the Registry we could backup our entire emulator settings + plugin settings + game settings within a single *.reg file, plus with no character conflicts.
The registry sucks. :p
Also, Dolphin is a cross-platform application. Only Windows has a registry.

You can just copy your entire "Dolphin/User" directory to backup your settings.
There isn't a Windows branch?

Registry-specific code could be exclusive to Windows build, just like DX GFX plugins are.
Ya, but the registry still sucks.
(10-31-2010, 05:15 AM)Billiard26 Wrote: [ -> ]Ya, but the registry still sucks.

agreed, using the registry would just be a pointless addition, and could create a lot of problems along the way (if it ain't broken dont fix it)

AMDphreak

(10-28-2010, 01:25 AM)El Buga Wrote: [ -> ]Well, I don't think it will be changed then. I have some experience with inifiles and you're right, comments starting with "#" always had been there.

OK, I can live with that. Perhaps until they start using the Windows registry. Smile

Hey, I wanted to say you and I must have similar habits. My game path is on an external drive and uses # to denote categories within a Software folder.

I know about the INI file syntax. However, this program should be able to work around that limitation. The INI file is parsed by the program, just like any other text file. The writer and parser should be corrected to do one of two things:
  1. put quotes "" around the String in the file to denote a file path, and then have the parser treat the # like part of the file path name whenever it is inside the "", or
  2. use the standard escape character, "\" before the # to denote that it is meant to be a literal # instead of an interpreter command. So it would be written H:/\#Emulation/Games/GameCube
Also, it is a bad idea to use the Registry. The developers don't need to be worrying about system-specific differences if they have another way that works on all systems. Doing that makes the code bloated and hard to keep under control. It's just self-defense to not use the Registry if possible.

I don't know where to contribute this advice, so I hope a developer sees it here.

There is an ancillary problem to this problem:
When you right-click on a game's entry in Dolphin's game list, and then click "Open Containing Folder" it also chokes on the # and shows an error dialog. I have attached a screenshot of it.
I couldn't find a way to edit my previous post, so I'm afraid I must double post.

Anyway I read the error message again, and it seems there is another problem with it, instead, or in addition to, this problem.

As for this problem, I now realize that my solution has a problem: the \ collides with the Windows file paths, which use \ to separate folders. It would have to be the / instead.

Upon looking at the error message, you see that this fixed solution has been used, but there is problem that happens after that. You should notice that the filepath's folder delimiter changes when it encounters the #. So really it escapes the # character and then escapes every folder's first character after that point.

file://D:\Software\/# console emulation/Nintendo/Nintendo Gamecube/GCN games/Super Smash Bros. Melee/

The part "/Nintendo/Nintendo Gamecube/GCN games/Super Smash Bros. Melee/" should be written "\Nintendo\Nintendo Gamecube\GCN games\Super Smash Bros. Melee\" like the first part of the path, "D:\Software\"

This is a bug.