Render96 / Render96ex

Fork of https://github.com/sm64-port/sm64-port with additional features.
239 stars 43 forks source link

Language defaults to Spanish on Linux #35

Open tstandley opened 2 years ago

tstandley commented 2 years ago

Compiled on linux added both model pack and latest texture pack.

The language is Spanish (I think) and I don't know how to change it.

cyrneko commented 2 years ago

No worries, There is a config file in ~/.local/share/sm64ex/sm64config.txt

from some testing, language 2 seems to be English

gardotd426 commented 2 years ago

Language 2 is definitely not English. Neither is 0, 1, 3, or 4.

The audio is in English, but the letters and stuff are in other languages.

cyrneko commented 2 years ago

Language 2 is definitely not English. Neither is 0, 1, 3, or 4.

Well then I'm genuinely confused as to what language 2 is supposed to be....or is it somehow different for each build?

gardotd426 commented 2 years ago

I literally had to do:

cd build/us_pc/res/texts
rm [D-T]*

which removed literally every language .json file except AM_us.dynos.json and AM_us.json

Like I said, setting it to 1 or 2 I believe caused the spoken language to be in english, but all signs/notes were in other languages.

After removing all the other text files, now everything including the signs and notes are in english.

DorfDork commented 2 years ago

This is a linux exclusive bug. I don't have a meaningful way to test and fix the bug.

real-or-random commented 2 years ago

I believe the issue is here: https://github.com/Render96/Render96ex/blob/alpha/src/text/text-loader.c#L217

readdir doesn't guarantee any order but the the code expects alphabetical order. I think the languages array should be sorted after loading the languages.

edit: It's also somewhat confusing that the README on master mentions dynos but you need the alpha branch for dynos...

cyrneko commented 2 years ago

This is a linux exclusive bug. I don't have a meaningful way to test and fix the bug.

you're most likely running on Windows 10/11, judging from how many people use it, which would allow you to run Linux builds through WSL and WSLG in theory, without changing your drive configuration by Dualbooting etc

lodriguez commented 2 years ago

Looks like it's fixed, Starts in English for me. (language 0)

real-or-random commented 2 years ago

I don't think it has been fixed. The buggy code is still there.

francois-pasquier commented 1 year ago

It's still not fixed

amphyvi commented 9 months ago

still compiles in spanish on linux!

kode54 commented 9 months ago

still compiles in spanish on linux!

Again, this is because it uses a directory enumeration to pick up the filenames of the language files, and doesn't sort them, and many Linux filesystems do not return directory contents in any guaranteed order.

For anyone else, the fact that this issue is still open should be indicator enough that the status has not changed.

amphyvi commented 9 months ago

interestingly, on my steam deck, changing the language value in ~/.local/share/sm64ex/sm64config.txt worked. after trial-and-error, using 9 made it launch in english!

edit: and now I'm finally seeing the "Current Language" in the in-game Options, lmao. probably should've tried that sooner. oh well, hopefully this helps someone in the future!

mikeyjoel commented 8 months ago

@amphyvi Changed to 9 on my end and getting English on my end.

LMDE 6 (faye) (64 bit) Kernel Name: Linux Kernel Version: 6.1.0-16-amd64