2
0
mirror of https://github.com/ValveSoftware/Proton synced 2025-08-30 22:25:34 +00:00

lsteamclient: Convert glyph paths in new ISteamInput005 methods

CW-Bug-Id: #19517
This commit is contained in:
Andrew Eikum
2021-10-08 11:09:30 -05:00
parent 4b9b102b31
commit f9eef72c88
18 changed files with 234 additions and 109 deletions

View File

@@ -219,8 +219,29 @@ manually_handled_methods = {
"cppISteamNetworkingMessages_SteamNetworkingMessages002": [
"ReceiveMessagesOnChannel"
],
"cppISteamInput_SteamInput001": [
"GetGlyphForActionOrigin"
],
"cppISteamInput_SteamInput002": [
"GetGlyphForActionOrigin"
],
"cppISteamInput_SteamInput005": [
"EnableActionEventCallbacks"
"EnableActionEventCallbacks",
"GetGlyphPNGForActionOrigin",
"GetGlyphSVGForActionOrigin",
"GetGlyphForActionOrigin_Legacy"
],
"cppISteamController_SteamController005": [
"GetGlyphForActionOrigin"
],
"cppISteamController_SteamController006": [
"GetGlyphForActionOrigin"
],
"cppISteamController_SteamController007": [
"GetGlyphForActionOrigin"
],
"cppISteamController_SteamController008": [
"GetGlyphForActionOrigin"
],
}
@@ -288,16 +309,6 @@ path_conversions = [
"w2l_urls": [False],
"return_is_size": True
},
{
"parent_name": "GetGlyphForActionOrigin",
"l2w_names": [None], #return value
"l2w_lens": [None],
"l2w_urls": [None],
"w2l_names": [],
"w2l_arrays": [],
"w2l_urls": [],
"return_is_size": False
},
### ISteamGameServer::SetModDir - "Just the folder name, not the whole path. I.e. "Spacewar"."
{
"parent_name": "LoadURL",
@@ -852,15 +863,10 @@ def handle_method(cfile, classname, winclassname, cppname, method, cpp, cpp_h, e
cfile.write(" return _r;\n")
if path_conv and len(path_conv["l2w_names"]) > 0:
for i in range(len(path_conv["l2w_names"])):
if path_conv["l2w_names"][i]:
cfile.write(" ")
if path_conv["return_is_size"]:
cfile.write("path_result = ")
cfile.write("steamclient_unix_path_to_dos_path(path_result, %s, %s, %s, %s);\n" % (path_conv["l2w_names"][i], path_conv["l2w_names"][i], path_conv["l2w_lens"][i], to_c_bool(path_conv["l2w_urls"][i])))
else:
#string is in return value
#ISteamController::GetGlyphForActionOrigin is the only user here for now
cfile.write(" path_result = steamclient_isteamcontroller_getglyph(eOrigin, path_result);\n")
cfile.write(" ")
if path_conv["return_is_size"]:
cfile.write("path_result = ")
cfile.write("steamclient_unix_path_to_dos_path(path_result, %s, %s, %s, %s);\n" % (path_conv["l2w_names"][i], path_conv["l2w_names"][i], path_conv["l2w_lens"][i], to_c_bool(path_conv["l2w_urls"][i])))
cfile.write(" return path_result;\n")
if path_conv:
for i in range(len(path_conv["w2l_names"])):