Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Traditional Chinese language support issue of OpenJO (Jedi Outcast) #1196

Open
hsz0566 opened this issue Dec 29, 2023 · 1 comment
Open

Traditional Chinese language support issue of OpenJO (Jedi Outcast) #1196

hsz0566 opened this issue Dec 29, 2023 · 1 comment

Comments

@hsz0566
Copy link

hsz0566 commented Dec 29, 2023

Reporting a bug? Please make sure you've given the following information - thanks!

Operating system and version:

Windows 10

Is this for single player or multiplayer?

single player

Description of the bug (and if possible, steps to reproduce the bug):

I have a multi-language (built-in Traditional Chinese) copy of JKO (Jedi Outcast), and I would like to change text language into Traditional Chinese in OpenJO. But the text subtitles became garbled. Here’s my assets.pk3:

https://mega.nz/file/bVZkVSZZ#Yis7wBou-2YciqW3ZutAkMc-HaGGDwNBP1mnB9uoTAA

In the strip folder, and the traditional Chinese subtitles are marked “TEXT_LANGUAGE6”

Besides, in OpenJK (Jedu Academy), my Traditional Chinese strip files work well!

https://mega.nz/file/LEgXXBjB#N0fvKHwwFoHDcKjQjTHYIz7jPS53eBgzVN-3VU387XE

Here's the video capture:

https://drive.google.com/file/d/1LvfoOf__OYqpJ5drzfArcIxqu8ST0OyU/view?usp=drivesdk

Actually, I was playing JK XR, the VR version Jedi Outcast / Jedi Academy which is based on OpenJK:

https://github.com/DrBeef/JKXR_public

What did you expect to happen instead?

Hope that my Traditional Chinese text subtitles will work well in OpenJO (Jedi Outcast).

More information about this issue:

People in OpenJK discord said:

  1. Looks like OpenJO breaks not latin languages.

  2. JK2 used sp_language as cvar. JKA used se_language as cvar. Seems that stuff isn't properly hooked up on OpenJO.

  3. I think the issue is located in the function Language_e GetLanguageEnum(). In jk2 mode it always returns eWestern. That leads to the checks for Language_IsAsian etc. to fail. And it also leads to various other checks failing and always loading the wrong glyphs.

  4. It handles font rendering differently in those modes. OpenJO is based on jka, you can imagine it as JK2 running in the jka engine. When adding jk2 support to jka the person doing it for OpenJK forgot to properly map the jk2 cvar to the functions used by the renderer, so the game uses the western font system on openjo.

@ensiform
Copy link
Member

ensiform commented Dec 29, 2023

Point#3 - these functions are only used in JKA mode that is what it only returns western.

OpenJO doesn't break them, as such, the original outcast does not support traditional Chinese or simplified Chinese to my knowledge compared to JKA. It's designed around supporting the outcast feature not the JKA font/languages in outcast mode.

**EDIT: **

OpenJO already fixed the language issues you're talking about, but the forks you have linked are outdated and do not support the fixes in place. Alas, the Chinese language is still excluded because it's not part of the support for JK2 assets, but it doesn't just return western and the CVar is hooked up just fine.

TEXT_LANGUAGE6 is also mapped to Taiwanese not necessarily traditional Chinese, but I do not know if that makes any difference. https://github.com/jedis/jedioutcast/blob/master/code/qcommon/strip.cpp#L109

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants