UMake doesn't support UTF-16 files

External tools, software and sites for creating or editing UT99 resources.
Half Way Lambda
Posts: 2
Joined: Fri Jul 02, 2021 9:01 pm

UMake doesn't support UTF-16 files

Post by Half Way Lambda »

I've noticed an annoying issue with UMake, if UnrealTournament.ini has any non-english character it will get encoded as UTF-16 (which is what happens in my case), which UMake can't recognize and gives the error Unable to find the main game configuration file. And yes, i've used Process Monitor to see what exactly is happening and it does indeed find and open the file, but it stops at offset 0.
If I convert UnrealTournament.ini back to UTF-8, then UMake suddenly works fine, but as soon as I launch the game the file gets overwritten, the non-ASCII characters come back, and the file becomes UTF-16 again.
And no it's not the username with those unusual characters, it's some device names mentioned in the OpenAL section of UnrealTournament.ini, speakers and all that basically.

So with all this in mind, is the source code of UMake available anywhere so that this bug can be fixed? It's annoying having to do the process manually everytime I want to build a mod, with the .u file deletion and all that.
b1t5murf
Novice
Posts: 7
Joined: Sun Jan 08, 2023 3:30 am

Re: UMake doesn't support UTF-16 files

Post by b1t5murf »

Are you still having issues with this problem?

What Windows version are you using?
Half Way Lambda
Posts: 2
Joined: Fri Jul 02, 2021 9:01 pm

Re: UMake doesn't support UTF-16 files

Post by Half Way Lambda »

Yes, I couldn't find any way to fix it, so i'll just have to use UCC.exe through the command line and remove my mod folder before executing it. It's basically the manual way of doing things.
The reason why this issue pops up for me is because UnrealTournament.ini stores the names of the audio devices on my PC (speakers, headphones etc.), in the OpenAL settings section, and they're not in English, so the file has to be stored in a UTF-16 format in order for those strings to be stored properly. Problem is, UMake hasn't been programmed to handle that, since it was made before the OldUnreal patches came out (which started supporting UTF-16 ini files).
I'm using Windows 10, Version 2004 (OS Build 19041.450)