Announcement

Collapse
No announcement yet.

How to get Steam client language via UnrealScript?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    How to get Steam client language via UnrealScript?

    I don't see anything in the Steam interface classes. Currently, the first time a player opens my game from Steam it's always English. I'd like to be able to set the appropriate language based on what they have set in the Steam client. But I don't see any functions to check this.

    Any ideas?

    #2
    I was thinking about when game starts. Check windows for the language they are using then send that in to script thru a dll. Then you could set it easy with a few functions in script.

    Comment


      #3
      I remember looking for a function for that. I just looked again. I'm pretty sure the Steam API won't tell you what language the Steam client is running in. I also just make the player select the language, and it starts in English by default.
      Check out Himeko Sutori, the upcoming tactical RPG where you control armies of over 100 unique characters.

      Comment


        #4
        Nathaniel3W The latest Steam Api does expose the language that the Steam client is running, however i'm pretty sure the one used with UDK does not. Swapping out the steam.api with the latest, and then attempting to use the extra endpoints via dll's would work, but there are some incompatibility issues with the native UE3 code. Pretty annoying not being able to use the latest api. If anyone figure out how to use it, I'd love to know.
        Last edited by Coldscooter; 02-10-2020, 12:55 PM.

        Comment


          #5
          I recently saw https://partner.steamgames.com/doc/a...ntGameLanguage "This falls back to the Steam UI language if the user hasn't explicitly picked a language for the title." There's also https://partner.steamgames.com/doc/a...teamUILanguage. I don't know when they added these, but I'm pretty sure they're older than the Steam dll that ships with UDK.

          What I did was copy the up-to-date Steamworks SDK into my game's source code, compiled, fixed errors, compiled, fixed errors, compiled, and fixed errors until it worked. I think there are a couple of functions that just aren't there any more, and there are a bunch that now return qwords instead of dword ints. It wasn't too bad for me because my game is entirely single-player and I didn't really care about any of the netcode. It might be more complicated for you.
          Check out Himeko Sutori, the upcoming tactical RPG where you control armies of over 100 unique characters.

          Comment


            #6
            Nathaniel3W I'm assuming you're referring to compiling native code?

            Comment


              #7
              Originally posted by Coldscooter View Post
              Nathaniel3W I'm assuming you're referring to compiling native code?
              Yeah. Native code. Weren't you the one who said you bought the full UE3 license? Maybe I was mistaken and it was Chosker or someone else. But yeah, using the new dll requires recompiling the native code. Mostly the problem was a bunch of functions that now return uint64s instead of ints. If you have to declare a 64-bit integer in UnrealScript, declare it as qword (which in UnrealScript is a struct containing two ints), and the Unreal Build Tool magically connects your UScript qwords to C++ uint64s.
              Check out Himeko Sutori, the upcoming tactical RPG where you control armies of over 100 unique characters.

              Comment


                #8
                AFAIK only you Nathaniel3W from around here bought the full UE3 license
                back then I could see native UE3 code at work because it was used for a project there. I was able to look at things which proved useful to understand many things but I never compiled native code for my personal projects
                Follow me on Twitter!
                Developer of Elium - Prison Escape
                Local Image-Based Lighting for UE4

                Comment

                Working...
                X