melonDS-emu / melonDS

DS emulator, sorta
https://melonds.kuribo64.net
GNU General Public License v3.0
3.28k stars 543 forks source link

Paths storing fails #2116

Open Templayer opened 3 months ago

Templayer commented 3 months ago

image

I can enter paths just fine. It prompts a restart if confirmed. (only the ends of paths are shown, as the entire path doesn't fit the input screen)

After restarting the application, it works as it should. Opening a savefile load dialog correctly shows the set folder.

Upon closing and reopening the application manually, however, the paths are gone.

image

Using today's nightly.

Templayer commented 3 months ago

melonDS result config file.zip

RSDuck commented 3 months ago

Is it possible that you have melonDS in a folder for which it doesn't have any write permissions (e.g. C:/Program files)?

Templayer commented 3 months ago

Is it possible that you have melonDS in a folder for which it doesn't have any write permissions (e.g. C:/Program files)?

No. Other settings (like last ROM folder etc. - that even has diacritics) are stored correctly.

Also, no UAC, Win7. ;)

Templayer commented 3 months ago

(I have added the resulting config file)

nadiaholmquist commented 3 months ago

That config file is an INI, while latest melonDS should save to a TOML file. Are you sure you're using the newest version or did you maybe attach the wrong file?

Templayer commented 3 months ago

That config file is an INI, while latest melonDS should save to a TOML file. Are you sure you're using the newest version or did you maybe attach the wrong file?

I can't see a TOML file:

image

But the ini is indeed ancient - looks like I have been wrong previously.

Maybe writing fails when it is in a folder with special unicode symbols like diacritics?

https://github.com/melonDS-emu/melonDS/issues/2113

It would be nice if there were logs I could take a look at.

nadiaholmquist commented 3 months ago

Then it's not the newest build. Try https://github.com/melonDS-emu/melonDS/actions/runs/10154377746/artifacts/1753435768

Templayer commented 3 months ago

I have confirmed it is a unicode issue. Renaming the folder to remove diacritics created a toml file... but...

image

Templayer commented 3 months ago

Then it's not the newest build. Try https://github.com/melonDS-emu/melonDS/actions/runs/10154377746/artifacts/1753435768

That seems to be false. It has the same modified date and time as what I have used to make the previous printscreens.

image

Templayer commented 3 months ago

I have confirmed it is a unicode issue. Renaming the folder to remove diacritics created a toml file... but...

image

Renaming the folder back doesn't make it not crash - it crashes when it attempts to read the toml file. Deleting it in a folder when creating it fails (putting diacritics back) makes it run again.

So saving a toml file has two issues: A) it fails when it attempts to write into a folder with special unicode symbols such as diacritics (you can't really have Czech without diacritics...) B) it fails to read the toml file for reasons unknown. The file doesn't appear to be corrupted, but I have already deleted it as I need the emulator to be working for tomorrow.

Templayer commented 3 months ago

melonDS.toml.zip

This toml file refuses to load for some reason, crashing the emulator.

So far I found a workaround - I manually edited my original configuration file, which is still read correctly.

(unless the issue is the "conversion" of the old ini file by loading its values into memory and writing that toml file - the ini file has been uploaded previously)

3DRenderer=2 in the ini file set the renderer to OpenGL (Compute shader), so that's nice. I don't have to set that up every time.

I did fail to to set the save and savestate folders, though. These variations are not loaded by the emulator from the ini file:

SaveFilePath=V:/Melon DS emulátor/SAVY
SavestatePath=V:/Melon DS emulátor/SAVY

SaveFilePath=V:/Melon DS emulátor/SAVY/
SavestatePath=V:/Melon DS emulátor/SAVY/

SaveFilePath=V:\Melon DS emulátor\SAVY\
SavestatePath=V:\Melon DS emulátor\SAVY\

THESE, however, were already there, and they are loaded correctly:

BIOS9Path=V:/Melon DS emulátor/BIOS and firmware/biosnds9.bin
BIOS7Path=V:/Melon DS emulátor/BIOS and firmware/biosnds7.bin
FirmwarePath=V:/Melon DS emulátor/BIOS and firmware/dsfirmware.bin
LastROMFolder=J:/VIDEOSOUBORY NAHRAVANO/Skineri Hraje Pokémony/DALŠÍ HRY
RecentROM_0=J:/VIDEOSOUBORY NAHRAVANO/Skineri Hraje Pokémony/DALŠÍ HRY/Pokemon Sacred Gold v1.1.nds

Video evidence: https://www.youtube.com/watch?v=eR0-wmltrEo

nadiaholmquist commented 3 months ago

Download the latest build, Generic should have fixed the TOML file saving issue.