DoubleYouC / Bethini-Pie-Performance-INI-Editor

Bethini Pie is an INI editor designed to allow advanced customization of game configuration settings.
70 stars 5 forks source link

Bethini Pie can't find Skyrim SE on Linux #8

Open Star-X555 opened 8 months ago

Star-X555 commented 8 months ago

Version 4.8.1 works fine as it accepts manual, non-registry game install locations, but 4.9.0 onward simply crashes if it can't find Skyrim's registry entry.

I double checked to make sure it was in the registry on Proton, and indeed it is. But for some reason Bethini Pie can't read it.

Log error indicates the following: 2023-10-20 02:21:22,727 - DEBUG - Did not find game folder in the registry (no WOW6432Node location). Traceback (most recent call last): File "lib\customFunctions.py", line 211, in getBethesdaGameFolder FileNotFoundError: [WinError 2] File not found

Proton registry entry in system.reg lists the following: [Software\Wow6432Node\Bethesda Softworks\Skyrim Special Edition] 1695922400

time=1d9f231dfd74018

"installed path"="E:\steamapps\common\Skyrim Special Edition\"

An easy solution is to fall back on the manual directory choice if the registry is unreadable, like 4.8.1 and earlier, instead of crashing if it can't read the registry.

DoubleYouC commented 8 months ago

That is a handled exception message and unlikely to be the cause of the crash. It is most likely a silent unhandled exception causing the issue some time after that.

Star-X555 commented 8 months ago

Here's what came after it in the log: 2023-10-20 02:21:22,735 - INFO - Skyrim Special Edition Documents\My Games folder is Skyrim Special Edition. 2023-10-20 02:21:22,737 - INFO - User documents location: C:\users\steamuser\Documents 2023-10-20 02:21:22,790 - INFO - Skyrim Special Edition Documents\My Games folder is Skyrim Special Edition. 2023-10-20 02:21:22,791 - INFO - User documents location: C:\users\steamuser\Documents 2023-10-20 02:21:22,832 - INFO - An unhandled exception occurred.

Silent exception indeed considering there's no stack trace or anything.

Theoretically would the Bethini Pie python coding work when run natively on Linux? Obviously the registry coding would fail for sure, but if the program works fine without it, it might help diagnose what's going on.

DoubleYouC commented 8 months ago

Yes, it theoretically should be able to run on Linux if you set up Python and pip install the modules in the Requirements.txt. I believe I added exception handling for the registry check, so I would expect it to bypass that now. I haven't tested on Linux however.

Celti commented 3 months ago

This (and the two duplicate issues, #9 and #10) is failing because Proton does not include the Segoe UI font, which BethINI hardcodes. BethINI should probably use a more universal fallback font (e.g., Tahoma), but it'll work just fine if you grab Segoe UI from Microsoft and add it to your Proton prefix.

Opal18 commented 2 months ago

@Celti thanks for trying to help. Unfortunately, unless I'm still doing something wrong, trying to run bethini v4.11 through MO2 (through proton) results in an unhandled exception error even with the segoe ui font installed to my wine prefix. v4.8 still works for me

Ruedii commented 1 month ago

On the font I would recommend not hard coding a single font, but using a fallback list.

The tier should be preferred font, followed by one included in Windows, followed by "Sans Serif" 

The other option is to include a webfont format font if the UI tools used support it.  BTW, I recommend packing up a custom Noto Sans variant that has the glyphs you want.  This way you could roll symbols and icons from Noto Color Emoji into the same file.  For translations you will want the translation package format to be able to ship supplemental fonts when necessary as well.

DoubleYouC commented 1 month ago

I already have a fix slated for next release.

HeyJoplin commented 1 week ago

Please check my comment in #9 .