Open Jayman2000 opened 1 week ago
Make sure that “Beta: Use Unicode UTF-8 for worldwide language support” is unchecked.
Any reason you'd want to do that with a locale like japanese? Does checking this box fix the issue?
Any reason you'd want to do that with a locale like japanese?
I don’t really know for sure if there are any reasons why you would want to check that box or uncheck that box. I think that checking that box will break some legacy applications that require code page 932, but I haven’t tested that out on Windows. I have run Japanese applications in Wine before, and I’ve had to switch off of my default UTF-8 locale because the application wasn’t working properly. If you want, I can try some of those same applications on Windows to see if that checkbox breaks anything.
That being said, here’s what I do know for sure:
You have to reboot in order to change that setting. Imagine if a user had some applications on their system that required that box to be checked and other applications that required that box to be unchecked. It would be annoying to have to reboot just to open a different application.
That checkbox is for an obscure beta feature. It would be better if Descent 3 didn’t sometimes require that users enabled an obscure beta feature.
That checkbox is unchecked by default. It would be better if Descent 3 didn’t sometimes require you to manually change a Windows setting.
That checkbox is mainly meant for applications that don’t support Unicode properly. The Region Settings window says “Select which language (system locale) to use when displaying text in programs that do not support Unicode.” If an application supports Unicode properly (i.e., by using the -W APIs or making sure that the Windows code page is set to 65001), then the system locale settings won’t affect the application. It would be better if Descent 3 supported Unicode properly.
Does checking this box fix the issue?
Yes. As I wrote previously,
You can workaround this problem by enabling Windows’s “Beta: Use Unicode UTF-8 for worldwide language support” setting.
Thanks for your reply. Don't hesitate to open a PR with a fix if you can while you have a setup ready for reproduction.
Adding platform-conditional _wfopen() handling should fix this issue.
Build Version
v1.5 de75a80ae7564563961c4635ef839fce70944a4c
Operating System Environment
CPU Environment
Game Modes Affected
Game Environment
I’m using game data from the US Windows Dual-Jewel version of Descent 3 v1.4.
Description
If
Descent3.exe
is stored in a directory that has Japanese characters in its name, then it will immediately crash if you try launching it:If you press “Cancel”, then the game will try to continue, but it will immediately give you another similar error. That second error does not give you an option to continue.
You can workaround this problem by enabling Windows’s “Beta: Use Unicode UTF-8 for worldwide language support” setting.
Regression Status
Last commit that doesn’t have this problem: 9263055e730c381b7b2fb9fb32d7cea439daddc2 First commit that does have this problem: 82084e9176bdc36d2c88ec7caab1a0ed69769c25
Steps to Reproduce
Set your system locale to a non-Unicode Japanese locale.
Go to Windows Settings > Time & language > Language & region > Administrative language settings > Change system locale.
Make sure that “Beta: Use Unicode UTF-8 for worldwide language support” is unchecked.
In the “Current system locale” dropdown box, select “Japanese (Japan)”.
Click “OK”.
Reboot.
Follow the README’s build instructions.
Create a
D3-open-source
folder with the required files and folders (See the README’s usage section for details).Try running
Descent3.exe
. You should be able to get to the title screen without any errors.Rename the
D3-open-source
folder toディセント3
.Try running
Descent3.exe
. Before the Dolby ad starts, you’ll get an error about not being able to set the working directory toディセント3\custom\cache
.