ioquake / ioq3

The ioquake3 community effort to continue supporting/developing id's Quake III Arena
https://ioquake3.org/
GNU General Public License v2.0
2.39k stars 528 forks source link

If path has non-ascii chars the game won't be able to find pak0.pk3 #509

Open tapir opened 3 years ago

tapir commented 3 years ago

This is only for Windows. Let's say you want to run your game from a folder in your Desktop and your Windows username has non ascii chars in it, then ioquake3 will not be able to find the pak0.pk3 file because the full path of the pak0.pk3 file will have those non ascii chars in it and it somehow messes up the file opening routine. I suspect something here is wrong: https://github.com/ioquake/ioq3/blob/main/code/sys/sys_win32.c

ensiform commented 3 years ago

Quake 3 only supports ASCII paths as a whole.

You should rename your username as a fix, or disable using the homepath in your user folder by manually adding the +set fs_homepath installationdir cvar to your launch parameters, provided you don't have it located in a protected folder.

Unicode on Windows is very messy and even then if you want parity with Linux, utf8 codepage support requires a newish version of w10.

tapir commented 3 years ago

Well there must be an easy way since apart from Q3 I have never cam across a software that can't handle unicode paths.

timangus commented 3 years ago

Keep in Mind that unicode support wasn't very widespread in 1999.

tapir commented 3 years ago

Indeed. Hence the bug report for a modern source port that is still maintained 22 years later. I'm not an expert on any of this but even SDL provides a cross-platform way of doing this stuff so wouldn't that be a good candidate?

timangus commented 3 years ago

Of course it's possible, but that doesn't mean it's easy.

tapir commented 3 years ago

I'm OK with it being not easy and the team not wanting to spend time on it. Feel free to close the bug report.