diff --git a/lsteamclient/cb_converters.dat b/lsteamclient/cb_converters.dat index 39a249ee..b1ffafa3 100644 --- a/lsteamclient/cb_converters.dat +++ b/lsteamclient/cb_converters.dat @@ -35,6 +35,7 @@ case 0x00100d56: win_msg->m_cubParam = 24; win_msg->m_pubParam = HeapAlloc(GetPr case 0x00100d57: win_msg->m_cubParam = 24; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_RemoveAppDependencyResult_t_24(lin_msg.m_pubParam, win_msg->m_pubParam); break; case 0x00940d58: win_msg->m_cubParam = 152; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_GetAppDependenciesResult_t_152(lin_msg.m_pubParam, win_msg->m_pubParam); break; case 0x000c0d59: win_msg->m_cubParam = 16; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_DeleteItemResult_t_16(lin_msg.m_pubParam, win_msg->m_pubParam); break; +case 0x000c11a4: win_msg->m_cubParam = 12; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_FileOpenDialog_t_12(lin_msg.m_pubParam, win_msg->m_pubParam); break; case 0x00141260: win_msg->m_cubParam = 24; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_SteamInventoryStartPurchaseResult_t_24(lin_msg.m_pubParam, win_msg->m_pubParam); break; case 0x002000d1: win_msg->m_cubParam = 40; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_GSReputation_t_40(lin_msg.m_pubParam, win_msg->m_pubParam); break; case 0x00140835: win_msg->m_cubParam = 24; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTTPRequestCompleted_t_24(lin_msg.m_pubParam, win_msg->m_pubParam); break; diff --git a/lsteamclient/cb_converters.h b/lsteamclient/cb_converters.h index 73561996..8418d3bc 100644 --- a/lsteamclient/cb_converters.h +++ b/lsteamclient/cb_converters.h @@ -72,6 +72,8 @@ extern void cb_GetAppDependenciesResult_t_152(void *l, void *w); extern void cb_DeleteItemResult_t_16(void *l, void *w); +extern void cb_HTML_FileOpenDialog_t_12(void *l, void *w); + extern void cb_SteamInventoryStartPurchaseResult_t_24(void *l, void *w); extern void cb_GSReputation_t_40(void *l, void *w); diff --git a/lsteamclient/cb_getapi_sizes.dat b/lsteamclient/cb_getapi_sizes.dat index 7bb04be6..b276c805 100644 --- a/lsteamclient/cb_getapi_sizes.dat +++ b/lsteamclient/cb_getapi_sizes.dat @@ -78,5 +78,7 @@ case 3417: /* DeleteItemResult_t_16 */ return 12; case 4704: /* SteamInventoryStartPurchaseResult_t_24 */ return 20; +case 4516: /* HTML_FileOpenDialog_t_12 */ + return 12; case 1023: /* FileDetailsResult_t_40 */ return 36; diff --git a/lsteamclient/cb_getapi_table.dat b/lsteamclient/cb_getapi_table.dat index 5b116002..7e358c28 100644 --- a/lsteamclient/cb_getapi_table.dat +++ b/lsteamclient/cb_getapi_table.dat @@ -247,6 +247,12 @@ case 4704: case 24: cb_SteamInventoryStartPurchaseResult_t_24(lin_callback, callback); break; } break; +case 4516: + switch(callback_len){ + default: + case 12: cb_HTML_FileOpenDialog_t_12(lin_callback, callback); break; + } + break; case 1023: switch(callback_len){ default: diff --git a/lsteamclient/gen_wrapper.py b/lsteamclient/gen_wrapper.py index 4aa5ed5b..6239ff89 100755 --- a/lsteamclient/gen_wrapper.py +++ b/lsteamclient/gen_wrapper.py @@ -164,6 +164,188 @@ print_sizes = [] class_versions = {} +path_conversions = [ + { + "parent_name": "GetAppInstallDir", + "l2w_names": ["pchDirectory"], + "l2w_lens": ["cchNameMax"], + "w2l_names": [], + "w2l_arrays": [], + "return_is_size": True + }, + { + "parent_name": "GetAppInstallDir", + "l2w_names": ["pchFolder"], + "l2w_lens": ["cchFolderBufferSize"], + "w2l_names": [], + "w2l_arrays": [], + "return_is_size": True + }, + { + "parent_name": "GetFileDetails", + "l2w_names": [], + "l2w_lens": [], + "w2l_names": ["pszFileName"], + "w2l_arrays": [False], + "return_is_size": True + }, + { + "parent_name": "GetGlyphForActionOrigin", + "l2w_names": [None], #return value + "l2w_lens": [None], + "w2l_names": [], + "w2l_arrays": [], + "return_is_size": False + }, + ### ISteamGameServer::SetModDir - "Just the folder name, not the whole path. I.e. "Spacewar"." + { + "parent_name": "FileLoadDialogResponse", + "l2w_names": [], + "l2w_lens": [], + "w2l_names": ["pchSelectedFiles"], + "w2l_arrays": [True], + "return_is_size": False + }, + { + "parent_name": "HTML_FileOpenDialog_t", + "l2w_names": ["pchInitialFile"], + "l2w_lens": [None], + "w2l_names": [], + "w2l_arrays": [], + "return_is_size": False + }, + ### XXX: some URLs could be file: protocol + { + "parent_name": "PublishWorkshopFile", + "l2w_names": [], + "l2w_lens": [], + "w2l_names": ["pchFile", "pchPreviewFile"], + "w2l_arrays": [False, False], + "return_is_size": False + }, + { + "parent_name": "UpdatePublishedFileFile", + "l2w_names": [], + "l2w_lens": [], + "w2l_names": ["pchFile"], + "w2l_arrays": [False], + "return_is_size": False + }, + { + "parent_name": "UpdatePublishedFilePreviewFile", + "l2w_names": [], + "l2w_lens": [], + "w2l_names": ["pchPreviewFile"], + "w2l_arrays": [False], + "return_is_size": False + }, + { + "parent_name": "PublishVideo", + "l2w_names": [], + "l2w_lens": [], + "w2l_names": ["pchPreviewFile"], + "w2l_arrays": [False], + "return_is_size": False + }, + { + "parent_name": "AddScreenshotToLibrary", + "l2w_names": [], + "l2w_lens": [], + "w2l_names": ["pchFilename", "pchThumbnailFilename"], + "w2l_arrays": [False, False], + "return_is_size": False + }, + { + "parent_name": "AddVRScreenshotToLibrary", + "l2w_names": [], + "l2w_lens": [], + "w2l_names": ["pchFilename", "pchVRFilename"], + "w2l_arrays": [False, False], + "return_is_size": False + }, + { + "parent_name": "UGCDownloadToLocation", + "l2w_names": [], + "l2w_lens": [], + "w2l_names": ["pchLocation"], + "w2l_arrays": [False], + "return_is_size": False + }, + ### is GetQueryUGCAdditionalPreview URL a file:? + { + "parent_name": "SetItemContent", + "l2w_names": [], + "l2w_lens": [], + "w2l_names": ["pszContentFolder"], + "w2l_arrays": [False], + "return_is_size": False + }, + { + "parent_name": "SetItemPreview", + "l2w_names": [], + "l2w_lens": [], + "w2l_names": ["pszPreviewFile"], + "w2l_arrays": [False], + "return_is_size": False + }, + { + "parent_name": "AddItemPreviewFile", + "l2w_names": [], + "l2w_lens": [], + "w2l_names": ["pszPreviewFile"], + "w2l_arrays": [False], + "return_is_size": False + }, + { + "parent_name": "UpdateItemPreviewFile", + "l2w_names": [], + "l2w_lens": [], + "w2l_names": ["pszPreviewFile"], + "w2l_arrays": [False], + "return_is_size": False + }, + { + "parent_name": "GetItemInstallInfo", + "l2w_names": ["pchFolder"], + "l2w_lens": ["cchFolderSize"], + "w2l_names": [], + "w2l_arrays": [], + "return_is_size": False + }, + { + "parent_name": "BInitWorkshopForGameServer", + "l2w_names": [], + "l2w_lens": [], + "w2l_names": ["pszFolder"], + "w2l_arrays": [False], + "return_is_size": False + }, + { + "parent_name": "GetUserDataFolder", + "l2w_names": ["pchBuffer"], + "l2w_lens": ["cubBuffer"], + "w2l_names": [], + "w2l_arrays": [], + "return_is_size": False + }, + { + "parent_name": "CheckFileSignature", + "l2w_names": [], + "l2w_lens": [], + "w2l_names": ["szFileName"], + "w2l_arrays": [False], + "return_is_size": False + }, + { + "parent_name": "Init", + "l2w_names": [], + "l2w_lens": [], + "w2l_names": ["pchAbsolutePathToControllerConfigVDF"], + "w2l_arrays": [False], + "return_is_size": False + } +] + def strip_const(typename): return typename.replace("const ", "", 1) @@ -184,6 +366,9 @@ def struct_needs_conversion_nocache(struct): if field.type.kind == clang.cindex.TypeKind.RECORD and \ struct_needs_conversion(field.type): return True + path_conv = get_path_converter(struct) + if path_conv: + return True return False def struct_needs_conversion(struct): @@ -198,6 +383,21 @@ def handle_destructor(cfile, classname, winclassname, method): cfile.write("void __thiscall %s_destructor(%s *_this)\n{/* never called */}\n\n" % (winclassname, winclassname)) return "destructor" +def get_path_converter(parent): + for conv in path_conversions: + if conv["parent_name"] in parent.spelling: + if None in conv["l2w_names"]: + return conv + if type(parent) == clang.cindex.Type: + children = list(parent.get_fields()) + else: + children = list(parent.get_children()) + for child in children: + if child.spelling in conv["w2l_names"] or \ + child.spelling in conv["l2w_names"]: + return conv + return None + def handle_method(cfile, classname, winclassname, cppname, method, cpp, cpp_h, existing_methods): used_name = method.spelling if used_name in existing_methods: @@ -269,13 +469,24 @@ def handle_method(cfile, classname, winclassname, cppname, method, cpp, cpp_h, e cpp.write(")\n{\n") cpp_h.write(");\n") - char_param_is_unix_path = "GetAppInstallDir" in used_name or \ - "GetItemInstallInfo" in used_name - path_param_name = None - path_size_param_name = None + path_conv = get_path_converter(method) + + if path_conv: + for i in range(len(path_conv["w2l_names"])): + if path_conv["w2l_arrays"][i]: + cfile.write(" const char **lin_%s = steamclient_dos_to_unix_stringlist(%s);\n" % (path_conv["w2l_names"][i], path_conv["w2l_names"][i])) + # TODO + pass + else: + cfile.write(" char lin_%s[PATH_MAX];\n" % path_conv["w2l_names"][i]) + cfile.write(" steamclient_dos_path_to_unix_path(%s, lin_%s);\n" % (path_conv["w2l_names"][i], path_conv["w2l_names"][i])) + if None in path_conv["l2w_names"]: + cfile.write(" const char *path_result;\n") + elif path_conv["return_is_size"]: + cfile.write(" uint32 path_result;\n") + elif len(path_conv["l2w_names"]) > 0: + cfile.write(" %s path_result;\n" % method.result_type.spelling) - if char_param_is_unix_path: - cfile.write(" uint32 path_result;\n") for param in need_convert: if param.type.kind == clang.cindex.TypeKind.POINTER: #handle single pointers, but not double pointers @@ -291,7 +502,7 @@ def handle_method(cfile, classname, winclassname, cppname, method, cpp, cpp_h, e if method.result_type.kind == clang.cindex.TypeKind.VOID: cfile.write(" ") - elif char_param_is_unix_path: + elif path_conv and (len(path_conv["l2w_names"]) > 0 or path_conv["return_is_size"]): cfile.write(" path_result = ") elif returns_record: cfile.write(" *_r = ") @@ -324,13 +535,6 @@ def handle_method(cfile, classname, winclassname, cppname, method, cpp, cpp_h, e cpp.write(", ") else: first = False - if char_param_is_unix_path: - if param.type.spelling == "char *": - path_param_name = param.spelling - elif not path_param_name is None and \ - (param.type.spelling == "uint32" or - param.type.spelling == "int"): - path_size_param_name = param.spelling if param.spelling == "": cfile.write(", _%s" % unnamed) cpp.write("(%s)_%s" % (param.type.spelling, unnamed)) @@ -339,6 +543,9 @@ def handle_method(cfile, classname, winclassname, cppname, method, cpp, cpp_h, e param.type.get_pointee().spelling in wrapped_classes: cfile.write(", create_Linux%s(%s)" % (param.type.get_pointee().spelling, param.spelling)) cpp.write("(%s)%s" % (param.type.spelling, param.spelling)) + elif path_conv and param.spelling in path_conv["w2l_names"]: + cfile.write(", %s ? lin_%s : NULL" % (param.spelling, param.spelling)) + cpp.write("(%s)%s" % (param.type.spelling, param.spelling)) elif param in need_convert: cfile.write(", %s" % param.spelling) if param.type.kind != clang.cindex.TypeKind.POINTER: @@ -354,8 +561,22 @@ def handle_method(cfile, classname, winclassname, cppname, method, cpp, cpp_h, e cpp.write(");\n") if returns_record: cfile.write(" return _r;\n") - if char_param_is_unix_path and not path_param_name is None and not path_size_param_name is None: - cfile.write(" return steamclient_unix_path_to_dos_path(path_result, %s, %s);\n" % (path_param_name, path_size_param_name)) + 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);\n" % (path_conv["l2w_names"][i], path_conv["l2w_names"][i], path_conv["l2w_lens"][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(" return path_result;\n") + if path_conv: + for i in range(len(path_conv["w2l_names"])): + if path_conv["w2l_arrays"][i]: + cfile.write(" steamclient_free_stringlist(lin_%s);\n" % path_conv["w2l_names"][i]) cfile.write("}\n\n") for param in need_convert: if param.type.kind == clang.cindex.TypeKind.POINTER: @@ -477,8 +698,6 @@ cb_table = {} #because of struct packing differences between win32 and linux, we #need to convert these structs from their linux layout to the win32 #layout. -#TODO: could we optimize this by detecting if the structs are the -#same layout at generation-time? def handle_struct(sdkver, struct): members = struct.get_children() cb_num = None @@ -575,6 +794,8 @@ def handle_struct(sdkver, struct): cppfile.write("} __attribute__ ((ms_struct));\n") cppfile.write("#pragma pack( pop )\n") + path_conv = get_path_converter(struct.type) + def handle_field(m, src, dst): if m.kind == clang.cindex.CursorKind.FIELD_DECL: if m.type.kind == clang.cindex.TypeKind.CONSTANTARRAY: @@ -584,6 +805,9 @@ def handle_struct(sdkver, struct): elif m.type.kind == clang.cindex.TypeKind.RECORD and \ struct_needs_conversion(m.type): cppfile.write(" %s_to_%s_struct_%s_%s(&%s->%s, &%s->%s);\n" % (src, dst, m.type.spelling, sdkver, src, m.displayname, dst, m.displayname)) + elif path_conv and m.displayname in path_conv["l2w_names"]: + cppfile.write(" steamclient_unix_path_to_dos_path(1, %s->%s, g_tmppath, sizeof(g_tmppath));\n" % (src, m.displayname)) + cppfile.write(" %s->%s = g_tmppath;\n" % (dst, m.displayname)) else: cppfile.write(" %s->%s = %s->%s;\n" % (dst, m.displayname, src, m.displayname)) diff --git a/lsteamclient/steam_defs.h b/lsteamclient/steam_defs.h index 515591ea..1de53b57 100644 --- a/lsteamclient/steam_defs.h +++ b/lsteamclient/steam_defs.h @@ -1,4 +1,5 @@ #include +#include typedef uint32_t EHTMLMouseButton, EHTMLKeyModifiers; #ifndef __cplusplus diff --git a/lsteamclient/steamclient_main.c b/lsteamclient/steamclient_main.c index b168a5b6..2f190282 100644 --- a/lsteamclient/steamclient_main.c +++ b/lsteamclient/steamclient_main.c @@ -16,6 +16,10 @@ WINE_DEFAULT_DEBUG_CHANNEL(steamclient); +char g_tmppath[PATH_MAX]; + +static char *controller_glyphs[512]; /* at least k_EControllerActionOrigin_Count */ + BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, void *reserved) { TRACE("(%p, %u, %p)\n", instance, reason, reserved); @@ -30,30 +34,107 @@ BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, void *reserved) return TRUE; } -uint32 steamclient_unix_path_to_dos_path(uint32 api_result, char *inout, uint32 inout_bytes) +/* returns the number of bytes written to dst, not including the NUL terminator */ +unsigned int steamclient_unix_path_to_dos_path(bool api_result, const char *src, char *dst, uint32 dst_bytes) { - WCHAR *converted; + WCHAR *dosW; uint32 r; - if(api_result == 0) + *dst = 0; + + if(!src || !api_result) return 0; - converted = wine_get_dos_file_name(inout); - if(!converted){ - WARN("Unable to convert unix filename to DOS: %s\n", inout); - *inout = 0; + dosW = wine_get_dos_file_name(src); + if(!dosW){ + WARN("Unable to convert unix filename to DOS: %s\n", src); return 0; } - r = WideCharToMultiByte(CP_UNIXCP, 0, converted, -1, inout, inout_bytes, + r = WideCharToMultiByte(CP_UNIXCP, 0, dosW, -1, dst, dst_bytes, NULL, NULL); - HeapFree(GetProcessHeap(), 0, converted); + HeapFree(GetProcessHeap(), 0, dosW); - if(r > 0) - return r - 1; + return r == 0 ? 0 : r - 1; +} - return 0; +/* returns non-zero on success, zero on failure */ +bool steamclient_dos_path_to_unix_path(const char *src, char *dst) +{ + WCHAR srcW[PATH_MAX]; + char *unix_fn; + uint32 r; + + *dst = 0; + + if(!src) + return 0; + + r = MultiByteToWideChar(CP_UNIXCP, 0, src, -1, srcW, PATH_MAX); + if(r == 0) + return 0; + + unix_fn = wine_get_unix_file_name(srcW); + if(!unix_fn){ + WARN("Unable to convert DOS filename to unix: %s\n", src); + return 0; + } + + strncpy(dst, unix_fn, PATH_MAX); + + HeapFree(GetProcessHeap(), 0, unix_fn); + + return 1; +} + +const char **steamclient_dos_to_unix_stringlist(const char **src) +{ + size_t len; + const char **s; + char **out, **o; + WCHAR scratch[PATH_MAX]; + + if(!src) + return NULL; + + len = sizeof(char*); /* NUL */ + for(s = src; *s; ++s) + len += sizeof(char*); + + out = HeapAlloc(GetProcessHeap(), 0, len); + + for(s = src, o = out; *s; ++s, ++o){ + MultiByteToWideChar(CP_UNIXCP, 0, *s, -1, scratch, sizeof(scratch)/sizeof(*scratch)); + *o = wine_get_unix_file_name(scratch); + } + + *o = NULL; + + return (const char **)out; +} + +void steamclient_free_stringlist(const char **out) +{ + if(out){ + const char **o; + for(o = out; *o; o++) + HeapFree(GetProcessHeap(), 0, (char *)*o); + HeapFree(GetProcessHeap(), 0, out); + } +} + +const char *steamclient_isteamcontroller_getglyph(int origin, const char *lin_path) +{ + if(!lin_path) + return NULL; + + if(!controller_glyphs[origin]) + controller_glyphs[origin] = HeapAlloc(GetProcessHeap(), 0, PATH_MAX); + + steamclient_unix_path_to_dos_path(1, lin_path, controller_glyphs[origin], PATH_MAX); + + return controller_glyphs[origin]; } #include "win_constructors.h" diff --git a/lsteamclient/steamclient_private.h b/lsteamclient/steamclient_private.h index a43ed34b..3881a692 100644 --- a/lsteamclient/steamclient_private.h +++ b/lsteamclient/steamclient_private.h @@ -1,4 +1,9 @@ /* TODO these should be generated */ + +#ifdef __cplusplus +extern "C" { +#endif + typedef struct __winISteamClient winISteamClient; typedef struct __winISteamUser winISteamUser; typedef struct __winISteamGameServer winISteamGameServer; @@ -29,15 +34,25 @@ typedef struct __winISteamParentalSettings winISteamParentalSettings; typedef struct __winX winX; void *create_win_interface(const char *name, void *linux_side); -unsigned int steamclient_unix_path_to_dos_path(unsigned int api_result, char *inout, unsigned int inout_bytes); +unsigned int steamclient_unix_path_to_dos_path(bool api_result, const char *src, char *dst, uint32 dst_bytes); +bool steamclient_dos_path_to_unix_path(const char *src, char *dst); +const char **steamclient_dos_to_unix_stringlist(const char **src); +void steamclient_free_stringlist(const char **out); +const char *steamclient_isteamcontroller_getglyph(int origin, const char *lin_path); void *create_LinuxISteamMatchmakingServerListResponse(void *win); void *create_LinuxISteamMatchmakingPingResponse(void *win); void *create_LinuxISteamMatchmakingPlayersResponse(void *win); void *create_LinuxISteamMatchmakingRulesResponse(void *win); +extern char g_tmppath[PATH_MAX]; + typedef uint64 SteamAPICall_t; //for ancient SDKs bool do_cb_wrap(HSteamPipe pipe, void *linux_side, bool (*cpp_func)(void *, SteamAPICall_t, void *, int, int, bool *), SteamAPICall_t call, void *callback, int callback_len, int cb_expected, bool *failed); +#ifdef __cplusplus +} +#endif + #define TRACE WINE_TRACE #define ERR WINE_ERR #define WARN WINE_WARN diff --git a/lsteamclient/struct_converters_142.cpp b/lsteamclient/struct_converters_142.cpp index 6d911b0b..04d5a2de 100644 --- a/lsteamclient/struct_converters_142.cpp +++ b/lsteamclient/struct_converters_142.cpp @@ -788,6 +788,23 @@ void cb_DeleteItemResult_t_16(const void *l, void *w) win->m_nPublishedFileId = lin->m_nPublishedFileId; } +#pragma pack( push, 8 ) +struct winHTML_FileOpenDialog_t_12 { + HHTMLBrowser unBrowserHandle; + const char * pchTitle; + const char * pchInitialFile; +} __attribute__ ((ms_struct)); +#pragma pack( pop ) +void cb_HTML_FileOpenDialog_t_12(const void *l, void *w) +{ + HTML_FileOpenDialog_t *lin = (HTML_FileOpenDialog_t *)l; + struct winHTML_FileOpenDialog_t_12 *win = (struct winHTML_FileOpenDialog_t_12 *)w; + win->unBrowserHandle = lin->unBrowserHandle; + win->pchTitle = lin->pchTitle; + steamclient_unix_path_to_dos_path(1, lin->pchInitialFile, g_tmppath, sizeof(g_tmppath)); + win->pchInitialFile = g_tmppath; +} + #pragma pack( push, 8 ) struct winSteamInventoryStartPurchaseResult_t_24 { EResult m_result; diff --git a/lsteamclient/winISteamAppList.c b/lsteamclient/winISteamAppList.c index 42f6d68e..e3f68db5 100644 --- a/lsteamclient/winISteamAppList.c +++ b/lsteamclient/winISteamAppList.c @@ -47,7 +47,8 @@ int __thiscall winISteamAppList_STEAMAPPLIST_INTERFACE_VERSION001_GetAppInstallD uint32 path_result; TRACE("%p\n", _this); path_result = cppISteamAppList_STEAMAPPLIST_INTERFACE_VERSION001_GetAppInstallDir(_this->linux_side, nAppID, pchDirectory, cchNameMax); - return steamclient_unix_path_to_dos_path(path_result, pchDirectory, cchNameMax); + path_result = steamclient_unix_path_to_dos_path(path_result, pchDirectory, pchDirectory, cchNameMax); + return path_result; } DEFINE_THISCALL_WRAPPER(winISteamAppList_STEAMAPPLIST_INTERFACE_VERSION001_GetAppBuildId, 8) diff --git a/lsteamclient/winISteamApps.c b/lsteamclient/winISteamApps.c index aa91e34b..e3907309 100644 --- a/lsteamclient/winISteamApps.c +++ b/lsteamclient/winISteamApps.c @@ -152,7 +152,8 @@ uint32 __thiscall winISteamApps_STEAMAPPS_INTERFACE_VERSION008_GetAppInstallDir( uint32 path_result; TRACE("%p\n", _this); path_result = cppISteamApps_STEAMAPPS_INTERFACE_VERSION008_GetAppInstallDir(_this->linux_side, appID, pchFolder, cchFolderBufferSize); - return steamclient_unix_path_to_dos_path(path_result, pchFolder, cchFolderBufferSize); + path_result = steamclient_unix_path_to_dos_path(path_result, pchFolder, pchFolder, cchFolderBufferSize); + return path_result; } DEFINE_THISCALL_WRAPPER(winISteamApps_STEAMAPPS_INTERFACE_VERSION008_BIsAppInstalled, 8) @@ -201,8 +202,11 @@ void __thiscall winISteamApps_STEAMAPPS_INTERFACE_VERSION008_RequestAllProofOfPu DEFINE_THISCALL_WRAPPER(winISteamApps_STEAMAPPS_INTERFACE_VERSION008_GetFileDetails, 8) SteamAPICall_t __thiscall winISteamApps_STEAMAPPS_INTERFACE_VERSION008_GetFileDetails(winISteamApps_STEAMAPPS_INTERFACE_VERSION008 *_this, const char * pszFileName) { + char lin_pszFileName[PATH_MAX]; + steamclient_dos_path_to_unix_path(pszFileName, lin_pszFileName); + uint32 path_result; TRACE("%p\n", _this); - return cppISteamApps_STEAMAPPS_INTERFACE_VERSION008_GetFileDetails(_this->linux_side, pszFileName); + path_result = cppISteamApps_STEAMAPPS_INTERFACE_VERSION008_GetFileDetails(_this->linux_side, pszFileName ? lin_pszFileName : NULL); } extern vtable_ptr winISteamApps_STEAMAPPS_INTERFACE_VERSION008_vtable; @@ -390,7 +394,8 @@ uint32 __thiscall winISteamApps_STEAMAPPS_INTERFACE_VERSION007_GetAppInstallDir( uint32 path_result; TRACE("%p\n", _this); path_result = cppISteamApps_STEAMAPPS_INTERFACE_VERSION007_GetAppInstallDir(_this->linux_side, appID, pchFolder, cchFolderBufferSize); - return steamclient_unix_path_to_dos_path(path_result, pchFolder, cchFolderBufferSize); + path_result = steamclient_unix_path_to_dos_path(path_result, pchFolder, pchFolder, cchFolderBufferSize); + return path_result; } DEFINE_THISCALL_WRAPPER(winISteamApps_STEAMAPPS_INTERFACE_VERSION007_BIsAppInstalled, 8) @@ -612,7 +617,8 @@ uint32 __thiscall winISteamApps_STEAMAPPS_INTERFACE_VERSION006_GetAppInstallDir( uint32 path_result; TRACE("%p\n", _this); path_result = cppISteamApps_STEAMAPPS_INTERFACE_VERSION006_GetAppInstallDir(_this->linux_side, appID, pchFolder, cchFolderBufferSize); - return steamclient_unix_path_to_dos_path(path_result, pchFolder, cchFolderBufferSize); + path_result = steamclient_unix_path_to_dos_path(path_result, pchFolder, pchFolder, cchFolderBufferSize); + return path_result; } DEFINE_THISCALL_WRAPPER(winISteamApps_STEAMAPPS_INTERFACE_VERSION006_BIsAppInstalled, 8) @@ -818,7 +824,8 @@ uint32 __thiscall winISteamApps_STEAMAPPS_INTERFACE_VERSION005_GetAppInstallDir( uint32 path_result; TRACE("%p\n", _this); path_result = cppISteamApps_STEAMAPPS_INTERFACE_VERSION005_GetAppInstallDir(_this->linux_side, appID, pchFolder, cchFolderBufferSize); - return steamclient_unix_path_to_dos_path(path_result, pchFolder, cchFolderBufferSize); + path_result = steamclient_unix_path_to_dos_path(path_result, pchFolder, pchFolder, cchFolderBufferSize); + return path_result; } DEFINE_THISCALL_WRAPPER(winISteamApps_STEAMAPPS_INTERFACE_VERSION005_BIsAppInstalled, 8) diff --git a/lsteamclient/winISteamController.c b/lsteamclient/winISteamController.c index 180bdc55..6e2f1bfd 100644 --- a/lsteamclient/winISteamController.c +++ b/lsteamclient/winISteamController.c @@ -229,8 +229,11 @@ const char * __thiscall winISteamController_SteamController006_GetStringForActio DEFINE_THISCALL_WRAPPER(winISteamController_SteamController006_GetGlyphForActionOrigin, 8) const char * __thiscall winISteamController_SteamController006_GetGlyphForActionOrigin(winISteamController_SteamController006 *_this, EControllerActionOrigin eOrigin) { + const char *path_result; TRACE("%p\n", _this); - return cppISteamController_SteamController006_GetGlyphForActionOrigin(_this->linux_side, eOrigin); + path_result = cppISteamController_SteamController006_GetGlyphForActionOrigin(_this->linux_side, eOrigin); + path_result = steamclient_isteamcontroller_getglyph(eOrigin, path_result); + return path_result; } DEFINE_THISCALL_WRAPPER(winISteamController_SteamController006_GetInputTypeForHandle, 12) @@ -479,8 +482,11 @@ const char * __thiscall winISteamController_SteamController005_GetStringForActio DEFINE_THISCALL_WRAPPER(winISteamController_SteamController005_GetGlyphForActionOrigin, 8) const char * __thiscall winISteamController_SteamController005_GetGlyphForActionOrigin(winISteamController_SteamController005 *_this, EControllerActionOrigin eOrigin) { + const char *path_result; TRACE("%p\n", _this); - return cppISteamController_SteamController005_GetGlyphForActionOrigin(_this->linux_side, eOrigin); + path_result = cppISteamController_SteamController005_GetGlyphForActionOrigin(_this->linux_side, eOrigin); + path_result = steamclient_isteamcontroller_getglyph(eOrigin, path_result); + return path_result; } extern vtable_ptr winISteamController_SteamController005_vtable; @@ -910,8 +916,10 @@ typedef struct __winISteamController_STEAMCONTROLLER_INTERFACE_VERSION { DEFINE_THISCALL_WRAPPER(winISteamController_STEAMCONTROLLER_INTERFACE_VERSION_Init, 8) bool __thiscall winISteamController_STEAMCONTROLLER_INTERFACE_VERSION_Init(winISteamController_STEAMCONTROLLER_INTERFACE_VERSION *_this, const char * pchAbsolutePathToControllerConfigVDF) { + char lin_pchAbsolutePathToControllerConfigVDF[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchAbsolutePathToControllerConfigVDF, lin_pchAbsolutePathToControllerConfigVDF); TRACE("%p\n", _this); - return cppISteamController_STEAMCONTROLLER_INTERFACE_VERSION_Init(_this->linux_side, pchAbsolutePathToControllerConfigVDF); + return cppISteamController_STEAMCONTROLLER_INTERFACE_VERSION_Init(_this->linux_side, pchAbsolutePathToControllerConfigVDF ? lin_pchAbsolutePathToControllerConfigVDF : NULL); } DEFINE_THISCALL_WRAPPER(winISteamController_STEAMCONTROLLER_INTERFACE_VERSION_Shutdown, 4) diff --git a/lsteamclient/winISteamHTMLSurface.c b/lsteamclient/winISteamHTMLSurface.c index fd078739..d5da3b15 100644 --- a/lsteamclient/winISteamHTMLSurface.c +++ b/lsteamclient/winISteamHTMLSurface.c @@ -272,8 +272,10 @@ void __thiscall winISteamHTMLSurface_STEAMHTMLSURFACE_INTERFACE_VERSION_004_JSDi DEFINE_THISCALL_WRAPPER(winISteamHTMLSurface_STEAMHTMLSURFACE_INTERFACE_VERSION_004_FileLoadDialogResponse, 12) void __thiscall winISteamHTMLSurface_STEAMHTMLSURFACE_INTERFACE_VERSION_004_FileLoadDialogResponse(winISteamHTMLSurface_STEAMHTMLSURFACE_INTERFACE_VERSION_004 *_this, HHTMLBrowser unBrowserHandle, const char ** pchSelectedFiles) { + const char **lin_pchSelectedFiles = steamclient_dos_to_unix_stringlist(pchSelectedFiles); TRACE("%p\n", _this); - cppISteamHTMLSurface_STEAMHTMLSURFACE_INTERFACE_VERSION_004_FileLoadDialogResponse(_this->linux_side, unBrowserHandle, pchSelectedFiles); + cppISteamHTMLSurface_STEAMHTMLSURFACE_INTERFACE_VERSION_004_FileLoadDialogResponse(_this->linux_side, unBrowserHandle, pchSelectedFiles ? lin_pchSelectedFiles : NULL); + steamclient_free_stringlist(lin_pchSelectedFiles); } extern vtable_ptr winISteamHTMLSurface_STEAMHTMLSURFACE_INTERFACE_VERSION_004_vtable; @@ -585,8 +587,10 @@ void __thiscall winISteamHTMLSurface_STEAMHTMLSURFACE_INTERFACE_VERSION_003_JSDi DEFINE_THISCALL_WRAPPER(winISteamHTMLSurface_STEAMHTMLSURFACE_INTERFACE_VERSION_003_FileLoadDialogResponse, 12) void __thiscall winISteamHTMLSurface_STEAMHTMLSURFACE_INTERFACE_VERSION_003_FileLoadDialogResponse(winISteamHTMLSurface_STEAMHTMLSURFACE_INTERFACE_VERSION_003 *_this, HHTMLBrowser unBrowserHandle, const char ** pchSelectedFiles) { + const char **lin_pchSelectedFiles = steamclient_dos_to_unix_stringlist(pchSelectedFiles); TRACE("%p\n", _this); - cppISteamHTMLSurface_STEAMHTMLSURFACE_INTERFACE_VERSION_003_FileLoadDialogResponse(_this->linux_side, unBrowserHandle, pchSelectedFiles); + cppISteamHTMLSurface_STEAMHTMLSURFACE_INTERFACE_VERSION_003_FileLoadDialogResponse(_this->linux_side, unBrowserHandle, pchSelectedFiles ? lin_pchSelectedFiles : NULL); + steamclient_free_stringlist(lin_pchSelectedFiles); } extern vtable_ptr winISteamHTMLSurface_STEAMHTMLSURFACE_INTERFACE_VERSION_003_vtable; @@ -890,8 +894,10 @@ void __thiscall winISteamHTMLSurface_STEAMHTMLSURFACE_INTERFACE_VERSION_002_JSDi DEFINE_THISCALL_WRAPPER(winISteamHTMLSurface_STEAMHTMLSURFACE_INTERFACE_VERSION_002_FileLoadDialogResponse, 12) void __thiscall winISteamHTMLSurface_STEAMHTMLSURFACE_INTERFACE_VERSION_002_FileLoadDialogResponse(winISteamHTMLSurface_STEAMHTMLSURFACE_INTERFACE_VERSION_002 *_this, HHTMLBrowser unBrowserHandle, const char ** pchSelectedFiles) { + const char **lin_pchSelectedFiles = steamclient_dos_to_unix_stringlist(pchSelectedFiles); TRACE("%p\n", _this); - cppISteamHTMLSurface_STEAMHTMLSURFACE_INTERFACE_VERSION_002_FileLoadDialogResponse(_this->linux_side, unBrowserHandle, pchSelectedFiles); + cppISteamHTMLSurface_STEAMHTMLSURFACE_INTERFACE_VERSION_002_FileLoadDialogResponse(_this->linux_side, unBrowserHandle, pchSelectedFiles ? lin_pchSelectedFiles : NULL); + steamclient_free_stringlist(lin_pchSelectedFiles); } extern vtable_ptr winISteamHTMLSurface_STEAMHTMLSURFACE_INTERFACE_VERSION_002_vtable; diff --git a/lsteamclient/winISteamRemoteStorage.c b/lsteamclient/winISteamRemoteStorage.c index 148891a0..9d7b280e 100644 --- a/lsteamclient/winISteamRemoteStorage.c +++ b/lsteamclient/winISteamRemoteStorage.c @@ -233,8 +233,12 @@ UGCHandle_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSI DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014_PublishWorkshopFile, 36) SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014_PublishWorkshopFile(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014 *_this, const char * pchFile, const char * pchPreviewFile, AppId_t nConsumerAppId, const char * pchTitle, const char * pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t * pTags, EWorkshopFileType eWorkshopFileType) { + char lin_pchFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchFile, lin_pchFile); + char lin_pchPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchPreviewFile, lin_pchPreviewFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014_PublishWorkshopFile(_this->linux_side, pchFile, pchPreviewFile, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags, eWorkshopFileType); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014_PublishWorkshopFile(_this->linux_side, pchFile ? lin_pchFile : NULL, pchPreviewFile ? lin_pchPreviewFile : NULL, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags, eWorkshopFileType); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014_CreatePublishedFileUpdateRequest, 12) @@ -247,15 +251,19 @@ PublishedFileUpdateHandle_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014_UpdatePublishedFileFile, 16) bool __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014_UpdatePublishedFileFile(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014 *_this, PublishedFileUpdateHandle_t updateHandle, const char * pchFile) { + char lin_pchFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchFile, lin_pchFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014_UpdatePublishedFileFile(_this->linux_side, updateHandle, pchFile); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014_UpdatePublishedFileFile(_this->linux_side, updateHandle, pchFile ? lin_pchFile : NULL); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014_UpdatePublishedFilePreviewFile, 16) bool __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014_UpdatePublishedFilePreviewFile(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014 *_this, PublishedFileUpdateHandle_t updateHandle, const char * pchPreviewFile) { + char lin_pchPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchPreviewFile, lin_pchPreviewFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014_UpdatePublishedFilePreviewFile(_this->linux_side, updateHandle, pchPreviewFile); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014_UpdatePublishedFilePreviewFile(_this->linux_side, updateHandle, pchPreviewFile ? lin_pchPreviewFile : NULL); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014_UpdatePublishedFileTitle, 16) @@ -373,8 +381,10 @@ SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VE DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014_PublishVideo, 40) SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014_PublishVideo(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014 *_this, EWorkshopVideoProvider eVideoProvider, const char * pchVideoAccount, const char * pchVideoIdentifier, const char * pchPreviewFile, AppId_t nConsumerAppId, const char * pchTitle, const char * pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t * pTags) { + char lin_pchPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchPreviewFile, lin_pchPreviewFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014_PublishVideo(_this->linux_side, eVideoProvider, pchVideoAccount, pchVideoIdentifier, pchPreviewFile, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014_PublishVideo(_this->linux_side, eVideoProvider, pchVideoAccount, pchVideoIdentifier, pchPreviewFile ? lin_pchPreviewFile : NULL, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014_SetUserPublishedFileAction, 16) @@ -401,8 +411,10 @@ SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VE DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014_UGCDownloadToLocation, 20) SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014_UGCDownloadToLocation(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014 *_this, UGCHandle_t hContent, const char * pchLocation, uint32 unPriority) { + char lin_pchLocation[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchLocation, lin_pchLocation); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014_UGCDownloadToLocation(_this->linux_side, hContent, pchLocation, unPriority); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014_UGCDownloadToLocation(_this->linux_side, hContent, pchLocation ? lin_pchLocation : NULL, unPriority); } extern vtable_ptr winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014_vtable; @@ -700,8 +712,12 @@ UGCHandle_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSI DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013_PublishWorkshopFile, 36) SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013_PublishWorkshopFile(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013 *_this, const char * pchFile, const char * pchPreviewFile, AppId_t nConsumerAppId, const char * pchTitle, const char * pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t * pTags, EWorkshopFileType eWorkshopFileType) { + char lin_pchFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchFile, lin_pchFile); + char lin_pchPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchPreviewFile, lin_pchPreviewFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013_PublishWorkshopFile(_this->linux_side, pchFile, pchPreviewFile, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags, eWorkshopFileType); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013_PublishWorkshopFile(_this->linux_side, pchFile ? lin_pchFile : NULL, pchPreviewFile ? lin_pchPreviewFile : NULL, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags, eWorkshopFileType); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013_CreatePublishedFileUpdateRequest, 12) @@ -714,15 +730,19 @@ PublishedFileUpdateHandle_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013_UpdatePublishedFileFile, 16) bool __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013_UpdatePublishedFileFile(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013 *_this, PublishedFileUpdateHandle_t updateHandle, const char * pchFile) { + char lin_pchFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchFile, lin_pchFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013_UpdatePublishedFileFile(_this->linux_side, updateHandle, pchFile); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013_UpdatePublishedFileFile(_this->linux_side, updateHandle, pchFile ? lin_pchFile : NULL); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013_UpdatePublishedFilePreviewFile, 16) bool __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013_UpdatePublishedFilePreviewFile(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013 *_this, PublishedFileUpdateHandle_t updateHandle, const char * pchPreviewFile) { + char lin_pchPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchPreviewFile, lin_pchPreviewFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013_UpdatePublishedFilePreviewFile(_this->linux_side, updateHandle, pchPreviewFile); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013_UpdatePublishedFilePreviewFile(_this->linux_side, updateHandle, pchPreviewFile ? lin_pchPreviewFile : NULL); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013_UpdatePublishedFileTitle, 16) @@ -840,8 +860,10 @@ SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VE DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013_PublishVideo, 40) SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013_PublishVideo(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013 *_this, EWorkshopVideoProvider eVideoProvider, const char * pchVideoAccount, const char * pchVideoIdentifier, const char * pchPreviewFile, AppId_t nConsumerAppId, const char * pchTitle, const char * pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t * pTags) { + char lin_pchPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchPreviewFile, lin_pchPreviewFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013_PublishVideo(_this->linux_side, eVideoProvider, pchVideoAccount, pchVideoIdentifier, pchPreviewFile, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013_PublishVideo(_this->linux_side, eVideoProvider, pchVideoAccount, pchVideoIdentifier, pchPreviewFile ? lin_pchPreviewFile : NULL, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013_SetUserPublishedFileAction, 16) @@ -868,8 +890,10 @@ SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VE DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013_UGCDownloadToLocation, 20) SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013_UGCDownloadToLocation(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013 *_this, UGCHandle_t hContent, const char * pchLocation, uint32 unPriority) { + char lin_pchLocation[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchLocation, lin_pchLocation); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013_UGCDownloadToLocation(_this->linux_side, hContent, pchLocation, unPriority); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013_UGCDownloadToLocation(_this->linux_side, hContent, pchLocation ? lin_pchLocation : NULL, unPriority); } extern vtable_ptr winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013_vtable; @@ -1146,8 +1170,12 @@ UGCHandle_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSI DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012_PublishWorkshopFile, 36) SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012_PublishWorkshopFile(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012 *_this, const char * pchFile, const char * pchPreviewFile, AppId_t nConsumerAppId, const char * pchTitle, const char * pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t * pTags, EWorkshopFileType eWorkshopFileType) { + char lin_pchFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchFile, lin_pchFile); + char lin_pchPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchPreviewFile, lin_pchPreviewFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012_PublishWorkshopFile(_this->linux_side, pchFile, pchPreviewFile, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags, eWorkshopFileType); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012_PublishWorkshopFile(_this->linux_side, pchFile ? lin_pchFile : NULL, pchPreviewFile ? lin_pchPreviewFile : NULL, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags, eWorkshopFileType); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012_CreatePublishedFileUpdateRequest, 12) @@ -1160,15 +1188,19 @@ PublishedFileUpdateHandle_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012_UpdatePublishedFileFile, 16) bool __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012_UpdatePublishedFileFile(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012 *_this, PublishedFileUpdateHandle_t updateHandle, const char * pchFile) { + char lin_pchFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchFile, lin_pchFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012_UpdatePublishedFileFile(_this->linux_side, updateHandle, pchFile); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012_UpdatePublishedFileFile(_this->linux_side, updateHandle, pchFile ? lin_pchFile : NULL); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012_UpdatePublishedFilePreviewFile, 16) bool __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012_UpdatePublishedFilePreviewFile(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012 *_this, PublishedFileUpdateHandle_t updateHandle, const char * pchPreviewFile) { + char lin_pchPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchPreviewFile, lin_pchPreviewFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012_UpdatePublishedFilePreviewFile(_this->linux_side, updateHandle, pchPreviewFile); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012_UpdatePublishedFilePreviewFile(_this->linux_side, updateHandle, pchPreviewFile ? lin_pchPreviewFile : NULL); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012_UpdatePublishedFileTitle, 16) @@ -1286,8 +1318,10 @@ SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VE DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012_PublishVideo, 40) SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012_PublishVideo(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012 *_this, EWorkshopVideoProvider eVideoProvider, const char * pchVideoAccount, const char * pchVideoIdentifier, const char * pchPreviewFile, AppId_t nConsumerAppId, const char * pchTitle, const char * pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t * pTags) { + char lin_pchPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchPreviewFile, lin_pchPreviewFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012_PublishVideo(_this->linux_side, eVideoProvider, pchVideoAccount, pchVideoIdentifier, pchPreviewFile, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012_PublishVideo(_this->linux_side, eVideoProvider, pchVideoAccount, pchVideoIdentifier, pchPreviewFile ? lin_pchPreviewFile : NULL, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012_SetUserPublishedFileAction, 16) @@ -1314,8 +1348,10 @@ SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VE DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012_UGCDownloadToLocation, 20) SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012_UGCDownloadToLocation(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012 *_this, UGCHandle_t hContent, const char * pchLocation, uint32 unPriority) { + char lin_pchLocation[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchLocation, lin_pchLocation); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012_UGCDownloadToLocation(_this->linux_side, hContent, pchLocation, unPriority); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012_UGCDownloadToLocation(_this->linux_side, hContent, pchLocation ? lin_pchLocation : NULL, unPriority); } extern vtable_ptr winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION012_vtable; @@ -1589,8 +1625,12 @@ UGCHandle_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSI DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011_PublishWorkshopFile, 36) SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011_PublishWorkshopFile(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011 *_this, const char * pchFile, const char * pchPreviewFile, AppId_t nConsumerAppId, const char * pchTitle, const char * pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t * pTags, EWorkshopFileType eWorkshopFileType) { + char lin_pchFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchFile, lin_pchFile); + char lin_pchPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchPreviewFile, lin_pchPreviewFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011_PublishWorkshopFile(_this->linux_side, pchFile, pchPreviewFile, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags, eWorkshopFileType); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011_PublishWorkshopFile(_this->linux_side, pchFile ? lin_pchFile : NULL, pchPreviewFile ? lin_pchPreviewFile : NULL, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags, eWorkshopFileType); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011_CreatePublishedFileUpdateRequest, 12) @@ -1603,15 +1643,19 @@ PublishedFileUpdateHandle_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011_UpdatePublishedFileFile, 16) bool __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011_UpdatePublishedFileFile(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011 *_this, PublishedFileUpdateHandle_t updateHandle, const char * pchFile) { + char lin_pchFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchFile, lin_pchFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011_UpdatePublishedFileFile(_this->linux_side, updateHandle, pchFile); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011_UpdatePublishedFileFile(_this->linux_side, updateHandle, pchFile ? lin_pchFile : NULL); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011_UpdatePublishedFilePreviewFile, 16) bool __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011_UpdatePublishedFilePreviewFile(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011 *_this, PublishedFileUpdateHandle_t updateHandle, const char * pchPreviewFile) { + char lin_pchPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchPreviewFile, lin_pchPreviewFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011_UpdatePublishedFilePreviewFile(_this->linux_side, updateHandle, pchPreviewFile); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011_UpdatePublishedFilePreviewFile(_this->linux_side, updateHandle, pchPreviewFile ? lin_pchPreviewFile : NULL); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011_UpdatePublishedFileTitle, 16) @@ -1729,8 +1773,10 @@ SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VE DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011_PublishVideo, 40) SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011_PublishVideo(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011 *_this, EWorkshopVideoProvider eVideoProvider, const char * pchVideoAccount, const char * pchVideoIdentifier, const char * pchPreviewFile, AppId_t nConsumerAppId, const char * pchTitle, const char * pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t * pTags) { + char lin_pchPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchPreviewFile, lin_pchPreviewFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011_PublishVideo(_this->linux_side, eVideoProvider, pchVideoAccount, pchVideoIdentifier, pchPreviewFile, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011_PublishVideo(_this->linux_side, eVideoProvider, pchVideoAccount, pchVideoIdentifier, pchPreviewFile ? lin_pchPreviewFile : NULL, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011_SetUserPublishedFileAction, 16) @@ -1757,8 +1803,10 @@ SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VE DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011_UGCDownloadToLocation, 20) SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011_UGCDownloadToLocation(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011 *_this, UGCHandle_t hContent, const char * pchLocation, uint32 unPriority) { + char lin_pchLocation[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchLocation, lin_pchLocation); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011_UGCDownloadToLocation(_this->linux_side, hContent, pchLocation, unPriority); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011_UGCDownloadToLocation(_this->linux_side, hContent, pchLocation ? lin_pchLocation : NULL, unPriority); } extern vtable_ptr winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION011_vtable; @@ -2032,8 +2080,12 @@ UGCHandle_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSI DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010_PublishWorkshopFile, 36) SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010_PublishWorkshopFile(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010 *_this, const char * pchFile, const char * pchPreviewFile, AppId_t nConsumerAppId, const char * pchTitle, const char * pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t * pTags, EWorkshopFileType eWorkshopFileType) { + char lin_pchFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchFile, lin_pchFile); + char lin_pchPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchPreviewFile, lin_pchPreviewFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010_PublishWorkshopFile(_this->linux_side, pchFile, pchPreviewFile, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags, eWorkshopFileType); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010_PublishWorkshopFile(_this->linux_side, pchFile ? lin_pchFile : NULL, pchPreviewFile ? lin_pchPreviewFile : NULL, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags, eWorkshopFileType); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010_CreatePublishedFileUpdateRequest, 12) @@ -2046,15 +2098,19 @@ PublishedFileUpdateHandle_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010_UpdatePublishedFileFile, 16) bool __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010_UpdatePublishedFileFile(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010 *_this, PublishedFileUpdateHandle_t updateHandle, const char * pchFile) { + char lin_pchFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchFile, lin_pchFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010_UpdatePublishedFileFile(_this->linux_side, updateHandle, pchFile); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010_UpdatePublishedFileFile(_this->linux_side, updateHandle, pchFile ? lin_pchFile : NULL); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010_UpdatePublishedFilePreviewFile, 16) bool __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010_UpdatePublishedFilePreviewFile(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010 *_this, PublishedFileUpdateHandle_t updateHandle, const char * pchPreviewFile) { + char lin_pchPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchPreviewFile, lin_pchPreviewFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010_UpdatePublishedFilePreviewFile(_this->linux_side, updateHandle, pchPreviewFile); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010_UpdatePublishedFilePreviewFile(_this->linux_side, updateHandle, pchPreviewFile ? lin_pchPreviewFile : NULL); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010_UpdatePublishedFileTitle, 16) @@ -2172,8 +2228,10 @@ SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VE DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010_PublishVideo, 40) SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010_PublishVideo(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010 *_this, EWorkshopVideoProvider eVideoProvider, const char * pchVideoAccount, const char * pchVideoIdentifier, const char * pchPreviewFile, AppId_t nConsumerAppId, const char * pchTitle, const char * pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t * pTags) { + char lin_pchPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchPreviewFile, lin_pchPreviewFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010_PublishVideo(_this->linux_side, eVideoProvider, pchVideoAccount, pchVideoIdentifier, pchPreviewFile, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010_PublishVideo(_this->linux_side, eVideoProvider, pchVideoAccount, pchVideoIdentifier, pchPreviewFile ? lin_pchPreviewFile : NULL, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010_SetUserPublishedFileAction, 16) @@ -2200,8 +2258,10 @@ SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VE DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010_UGCDownloadToLocation, 20) SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010_UGCDownloadToLocation(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010 *_this, UGCHandle_t hContent, const char * pchLocation, uint32 unPriority) { + char lin_pchLocation[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchLocation, lin_pchLocation); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010_UGCDownloadToLocation(_this->linux_side, hContent, pchLocation, unPriority); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010_UGCDownloadToLocation(_this->linux_side, hContent, pchLocation ? lin_pchLocation : NULL, unPriority); } extern vtable_ptr winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION010_vtable; @@ -2475,8 +2535,12 @@ UGCHandle_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSI DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION008_PublishWorkshopFile, 36) SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION008_PublishWorkshopFile(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION008 *_this, const char * pchFile, const char * pchPreviewFile, AppId_t nConsumerAppId, const char * pchTitle, const char * pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t * pTags, EWorkshopFileType eWorkshopFileType) { + char lin_pchFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchFile, lin_pchFile); + char lin_pchPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchPreviewFile, lin_pchPreviewFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION008_PublishWorkshopFile(_this->linux_side, pchFile, pchPreviewFile, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags, eWorkshopFileType); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION008_PublishWorkshopFile(_this->linux_side, pchFile ? lin_pchFile : NULL, pchPreviewFile ? lin_pchPreviewFile : NULL, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags, eWorkshopFileType); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION008_CreatePublishedFileUpdateRequest, 12) @@ -2489,15 +2553,19 @@ PublishedFileUpdateHandle_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION008_UpdatePublishedFileFile, 16) bool __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION008_UpdatePublishedFileFile(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION008 *_this, PublishedFileUpdateHandle_t updateHandle, const char * pchFile) { + char lin_pchFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchFile, lin_pchFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION008_UpdatePublishedFileFile(_this->linux_side, updateHandle, pchFile); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION008_UpdatePublishedFileFile(_this->linux_side, updateHandle, pchFile ? lin_pchFile : NULL); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION008_UpdatePublishedFilePreviewFile, 16) bool __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION008_UpdatePublishedFilePreviewFile(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION008 *_this, PublishedFileUpdateHandle_t updateHandle, const char * pchPreviewFile) { + char lin_pchPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchPreviewFile, lin_pchPreviewFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION008_UpdatePublishedFilePreviewFile(_this->linux_side, updateHandle, pchPreviewFile); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION008_UpdatePublishedFilePreviewFile(_this->linux_side, updateHandle, pchPreviewFile ? lin_pchPreviewFile : NULL); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION008_UpdatePublishedFileTitle, 16) @@ -2615,8 +2683,10 @@ SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VE DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION008_PublishVideo, 40) SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION008_PublishVideo(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION008 *_this, EWorkshopVideoProvider eVideoProvider, const char * pchVideoAccount, const char * pchVideoIdentifier, const char * pchPreviewFile, AppId_t nConsumerAppId, const char * pchTitle, const char * pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t * pTags) { + char lin_pchPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchPreviewFile, lin_pchPreviewFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION008_PublishVideo(_this->linux_side, eVideoProvider, pchVideoAccount, pchVideoIdentifier, pchPreviewFile, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION008_PublishVideo(_this->linux_side, eVideoProvider, pchVideoAccount, pchVideoIdentifier, pchPreviewFile ? lin_pchPreviewFile : NULL, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION008_SetUserPublishedFileAction, 16) @@ -2882,8 +2952,12 @@ UGCHandle_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSI DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION006_PublishWorkshopFile, 36) SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION006_PublishWorkshopFile(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION006 *_this, const char * pchFile, const char * pchPreviewFile, AppId_t nConsumerAppId, const char * pchTitle, const char * pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t * pTags, EWorkshopFileType eWorkshopFileType) { + char lin_pchFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchFile, lin_pchFile); + char lin_pchPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchPreviewFile, lin_pchPreviewFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION006_PublishWorkshopFile(_this->linux_side, pchFile, pchPreviewFile, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags, eWorkshopFileType); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION006_PublishWorkshopFile(_this->linux_side, pchFile ? lin_pchFile : NULL, pchPreviewFile ? lin_pchPreviewFile : NULL, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags, eWorkshopFileType); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION006_CreatePublishedFileUpdateRequest, 12) @@ -2896,15 +2970,19 @@ PublishedFileUpdateHandle_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION006_UpdatePublishedFileFile, 16) bool __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION006_UpdatePublishedFileFile(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION006 *_this, PublishedFileUpdateHandle_t updateHandle, const char * pchFile) { + char lin_pchFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchFile, lin_pchFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION006_UpdatePublishedFileFile(_this->linux_side, updateHandle, pchFile); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION006_UpdatePublishedFileFile(_this->linux_side, updateHandle, pchFile ? lin_pchFile : NULL); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION006_UpdatePublishedFilePreviewFile, 16) bool __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION006_UpdatePublishedFilePreviewFile(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION006 *_this, PublishedFileUpdateHandle_t updateHandle, const char * pchPreviewFile) { + char lin_pchPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchPreviewFile, lin_pchPreviewFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION006_UpdatePublishedFilePreviewFile(_this->linux_side, updateHandle, pchPreviewFile); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION006_UpdatePublishedFilePreviewFile(_this->linux_side, updateHandle, pchPreviewFile ? lin_pchPreviewFile : NULL); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION006_UpdatePublishedFileTitle, 16) @@ -3022,8 +3100,10 @@ SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VE DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION006_PublishVideo, 32) SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION006_PublishVideo(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION006 *_this, const char * pchVideoURL, const char * pchPreviewFile, AppId_t nConsumerAppId, const char * pchTitle, const char * pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t * pTags) { + char lin_pchPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchPreviewFile, lin_pchPreviewFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION006_PublishVideo(_this->linux_side, pchVideoURL, pchPreviewFile, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION006_PublishVideo(_this->linux_side, pchVideoURL, pchPreviewFile ? lin_pchPreviewFile : NULL, nConsumerAppId, pchTitle, pchDescription, eVisibility, pTags); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION006_SetUserPublishedFileAction, 16) @@ -3285,8 +3365,12 @@ SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VE DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION005_PublishWorkshopFile, 28) SteamAPICall_t __thiscall winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION005_PublishWorkshopFile(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION005 *_this, const char * pchFile, const char * pchPreviewFile, AppId_t nConsumerAppId, const char * pchTitle, const char * pchDescription, SteamParamStringArray_t * pTags) { + char lin_pchFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchFile, lin_pchFile); + char lin_pchPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchPreviewFile, lin_pchPreviewFile); TRACE("%p\n", _this); - return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION005_PublishWorkshopFile(_this->linux_side, pchFile, pchPreviewFile, nConsumerAppId, pchTitle, pchDescription, pTags); + return cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION005_PublishWorkshopFile(_this->linux_side, pchFile ? lin_pchFile : NULL, pchPreviewFile ? lin_pchPreviewFile : NULL, nConsumerAppId, pchTitle, pchDescription, pTags); } DEFINE_THISCALL_WRAPPER(winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION005_UpdatePublishedFile, 44) diff --git a/lsteamclient/winISteamScreenshots.c b/lsteamclient/winISteamScreenshots.c index 75d4ebd0..c50f6fbd 100644 --- a/lsteamclient/winISteamScreenshots.c +++ b/lsteamclient/winISteamScreenshots.c @@ -30,8 +30,12 @@ ScreenshotHandle __thiscall winISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERS DEFINE_THISCALL_WRAPPER(winISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION003_AddScreenshotToLibrary, 20) ScreenshotHandle __thiscall winISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION003_AddScreenshotToLibrary(winISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION003 *_this, const char * pchFilename, const char * pchThumbnailFilename, int nWidth, int nHeight) { + char lin_pchFilename[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchFilename, lin_pchFilename); + char lin_pchThumbnailFilename[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchThumbnailFilename, lin_pchThumbnailFilename); TRACE("%p\n", _this); - return cppISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION003_AddScreenshotToLibrary(_this->linux_side, pchFilename, pchThumbnailFilename, nWidth, nHeight); + return cppISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION003_AddScreenshotToLibrary(_this->linux_side, pchFilename ? lin_pchFilename : NULL, pchThumbnailFilename ? lin_pchThumbnailFilename : NULL, nWidth, nHeight); } DEFINE_THISCALL_WRAPPER(winISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION003_TriggerScreenshot, 4) @@ -79,8 +83,12 @@ bool __thiscall winISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION003_IsScr DEFINE_THISCALL_WRAPPER(winISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION003_AddVRScreenshotToLibrary, 16) ScreenshotHandle __thiscall winISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION003_AddVRScreenshotToLibrary(winISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION003 *_this, EVRScreenshotType eType, const char * pchFilename, const char * pchVRFilename) { + char lin_pchFilename[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchFilename, lin_pchFilename); + char lin_pchVRFilename[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchVRFilename, lin_pchVRFilename); TRACE("%p\n", _this); - return cppISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION003_AddVRScreenshotToLibrary(_this->linux_side, eType, pchFilename, pchVRFilename); + return cppISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION003_AddVRScreenshotToLibrary(_this->linux_side, eType, pchFilename ? lin_pchFilename : NULL, pchVRFilename ? lin_pchVRFilename : NULL); } extern vtable_ptr winISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION003_vtable; @@ -129,8 +137,12 @@ ScreenshotHandle __thiscall winISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERS DEFINE_THISCALL_WRAPPER(winISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION002_AddScreenshotToLibrary, 20) ScreenshotHandle __thiscall winISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION002_AddScreenshotToLibrary(winISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION002 *_this, const char * pchFilename, const char * pchThumbnailFilename, int nWidth, int nHeight) { + char lin_pchFilename[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchFilename, lin_pchFilename); + char lin_pchThumbnailFilename[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchThumbnailFilename, lin_pchThumbnailFilename); TRACE("%p\n", _this); - return cppISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION002_AddScreenshotToLibrary(_this->linux_side, pchFilename, pchThumbnailFilename, nWidth, nHeight); + return cppISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION002_AddScreenshotToLibrary(_this->linux_side, pchFilename ? lin_pchFilename : NULL, pchThumbnailFilename ? lin_pchThumbnailFilename : NULL, nWidth, nHeight); } DEFINE_THISCALL_WRAPPER(winISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION002_TriggerScreenshot, 4) @@ -212,8 +224,12 @@ ScreenshotHandle __thiscall winISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERS DEFINE_THISCALL_WRAPPER(winISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION001_AddScreenshotToLibrary, 20) ScreenshotHandle __thiscall winISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION001_AddScreenshotToLibrary(winISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION001 *_this, const char * pchFilename, const char * pchThumbnailFilename, int nWidth, int nHeight) { + char lin_pchFilename[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchFilename, lin_pchFilename); + char lin_pchThumbnailFilename[PATH_MAX]; + steamclient_dos_path_to_unix_path(pchThumbnailFilename, lin_pchThumbnailFilename); TRACE("%p\n", _this); - return cppISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION001_AddScreenshotToLibrary(_this->linux_side, pchFilename, pchThumbnailFilename, nWidth, nHeight); + return cppISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION001_AddScreenshotToLibrary(_this->linux_side, pchFilename ? lin_pchFilename : NULL, pchThumbnailFilename ? lin_pchThumbnailFilename : NULL, nWidth, nHeight); } DEFINE_THISCALL_WRAPPER(winISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION001_TriggerScreenshot, 4) diff --git a/lsteamclient/winISteamUGC.c b/lsteamclient/winISteamUGC.c index 4ad99a6d..62796235 100644 --- a/lsteamclient/winISteamUGC.c +++ b/lsteamclient/winISteamUGC.c @@ -303,15 +303,19 @@ bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION010_SetItemTags(winISteam DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION010_SetItemContent, 16) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION010_SetItemContent(winISteamUGC_STEAMUGC_INTERFACE_VERSION010 *_this, UGCUpdateHandle_t handle, const char * pszContentFolder) { + char lin_pszContentFolder[PATH_MAX]; + steamclient_dos_path_to_unix_path(pszContentFolder, lin_pszContentFolder); TRACE("%p\n", _this); - return cppISteamUGC_STEAMUGC_INTERFACE_VERSION010_SetItemContent(_this->linux_side, handle, pszContentFolder); + return cppISteamUGC_STEAMUGC_INTERFACE_VERSION010_SetItemContent(_this->linux_side, handle, pszContentFolder ? lin_pszContentFolder : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION010_SetItemPreview, 16) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION010_SetItemPreview(winISteamUGC_STEAMUGC_INTERFACE_VERSION010 *_this, UGCUpdateHandle_t handle, const char * pszPreviewFile) { + char lin_pszPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pszPreviewFile, lin_pszPreviewFile); TRACE("%p\n", _this); - return cppISteamUGC_STEAMUGC_INTERFACE_VERSION010_SetItemPreview(_this->linux_side, handle, pszPreviewFile); + return cppISteamUGC_STEAMUGC_INTERFACE_VERSION010_SetItemPreview(_this->linux_side, handle, pszPreviewFile ? lin_pszPreviewFile : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION010_RemoveItemKeyValueTags, 16) @@ -331,8 +335,10 @@ bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION010_AddItemKeyValueTag(wi DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION010_AddItemPreviewFile, 20) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION010_AddItemPreviewFile(winISteamUGC_STEAMUGC_INTERFACE_VERSION010 *_this, UGCUpdateHandle_t handle, const char * pszPreviewFile, EItemPreviewType type) { + char lin_pszPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pszPreviewFile, lin_pszPreviewFile); TRACE("%p\n", _this); - return cppISteamUGC_STEAMUGC_INTERFACE_VERSION010_AddItemPreviewFile(_this->linux_side, handle, pszPreviewFile, type); + return cppISteamUGC_STEAMUGC_INTERFACE_VERSION010_AddItemPreviewFile(_this->linux_side, handle, pszPreviewFile ? lin_pszPreviewFile : NULL, type); } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION010_AddItemPreviewVideo, 16) @@ -345,8 +351,10 @@ bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION010_AddItemPreviewVideo(w DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION010_UpdateItemPreviewFile, 20) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION010_UpdateItemPreviewFile(winISteamUGC_STEAMUGC_INTERFACE_VERSION010 *_this, UGCUpdateHandle_t handle, uint32 index, const char * pszPreviewFile) { + char lin_pszPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pszPreviewFile, lin_pszPreviewFile); TRACE("%p\n", _this); - return cppISteamUGC_STEAMUGC_INTERFACE_VERSION010_UpdateItemPreviewFile(_this->linux_side, handle, index, pszPreviewFile); + return cppISteamUGC_STEAMUGC_INTERFACE_VERSION010_UpdateItemPreviewFile(_this->linux_side, handle, index, pszPreviewFile ? lin_pszPreviewFile : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION010_UpdateItemPreviewVideo, 20) @@ -443,10 +451,11 @@ uint32 __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION010_GetItemState(winISt DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION010_GetItemInstallInfo, 28) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION010_GetItemInstallInfo(winISteamUGC_STEAMUGC_INTERFACE_VERSION010 *_this, PublishedFileId_t nPublishedFileID, uint64 * punSizeOnDisk, char * pchFolder, uint32 cchFolderSize, uint32 * punTimeStamp) { - uint32 path_result; + bool path_result; TRACE("%p\n", _this); path_result = cppISteamUGC_STEAMUGC_INTERFACE_VERSION010_GetItemInstallInfo(_this->linux_side, nPublishedFileID, punSizeOnDisk, pchFolder, cchFolderSize, punTimeStamp); - return steamclient_unix_path_to_dos_path(path_result, pchFolder, cchFolderSize); + steamclient_unix_path_to_dos_path(path_result, pchFolder, pchFolder, cchFolderSize); + return path_result; } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION010_GetItemDownloadInfo, 20) @@ -466,8 +475,10 @@ bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION010_DownloadItem(winIStea DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION010_BInitWorkshopForGameServer, 12) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION010_BInitWorkshopForGameServer(winISteamUGC_STEAMUGC_INTERFACE_VERSION010 *_this, DepotId_t unWorkshopDepotID, const char * pszFolder) { + char lin_pszFolder[PATH_MAX]; + steamclient_dos_path_to_unix_path(pszFolder, lin_pszFolder); TRACE("%p\n", _this); - return cppISteamUGC_STEAMUGC_INTERFACE_VERSION010_BInitWorkshopForGameServer(_this->linux_side, unWorkshopDepotID, pszFolder); + return cppISteamUGC_STEAMUGC_INTERFACE_VERSION010_BInitWorkshopForGameServer(_this->linux_side, unWorkshopDepotID, pszFolder ? lin_pszFolder : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION010_SuspendDownloads, 5) @@ -917,15 +928,19 @@ bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION009_SetItemTags(winISteam DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION009_SetItemContent, 16) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION009_SetItemContent(winISteamUGC_STEAMUGC_INTERFACE_VERSION009 *_this, UGCUpdateHandle_t handle, const char * pszContentFolder) { + char lin_pszContentFolder[PATH_MAX]; + steamclient_dos_path_to_unix_path(pszContentFolder, lin_pszContentFolder); TRACE("%p\n", _this); - return cppISteamUGC_STEAMUGC_INTERFACE_VERSION009_SetItemContent(_this->linux_side, handle, pszContentFolder); + return cppISteamUGC_STEAMUGC_INTERFACE_VERSION009_SetItemContent(_this->linux_side, handle, pszContentFolder ? lin_pszContentFolder : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION009_SetItemPreview, 16) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION009_SetItemPreview(winISteamUGC_STEAMUGC_INTERFACE_VERSION009 *_this, UGCUpdateHandle_t handle, const char * pszPreviewFile) { + char lin_pszPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pszPreviewFile, lin_pszPreviewFile); TRACE("%p\n", _this); - return cppISteamUGC_STEAMUGC_INTERFACE_VERSION009_SetItemPreview(_this->linux_side, handle, pszPreviewFile); + return cppISteamUGC_STEAMUGC_INTERFACE_VERSION009_SetItemPreview(_this->linux_side, handle, pszPreviewFile ? lin_pszPreviewFile : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION009_RemoveItemKeyValueTags, 16) @@ -945,8 +960,10 @@ bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION009_AddItemKeyValueTag(wi DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION009_AddItemPreviewFile, 20) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION009_AddItemPreviewFile(winISteamUGC_STEAMUGC_INTERFACE_VERSION009 *_this, UGCUpdateHandle_t handle, const char * pszPreviewFile, EItemPreviewType type) { + char lin_pszPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pszPreviewFile, lin_pszPreviewFile); TRACE("%p\n", _this); - return cppISteamUGC_STEAMUGC_INTERFACE_VERSION009_AddItemPreviewFile(_this->linux_side, handle, pszPreviewFile, type); + return cppISteamUGC_STEAMUGC_INTERFACE_VERSION009_AddItemPreviewFile(_this->linux_side, handle, pszPreviewFile ? lin_pszPreviewFile : NULL, type); } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION009_AddItemPreviewVideo, 16) @@ -959,8 +976,10 @@ bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION009_AddItemPreviewVideo(w DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION009_UpdateItemPreviewFile, 20) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION009_UpdateItemPreviewFile(winISteamUGC_STEAMUGC_INTERFACE_VERSION009 *_this, UGCUpdateHandle_t handle, uint32 index, const char * pszPreviewFile) { + char lin_pszPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pszPreviewFile, lin_pszPreviewFile); TRACE("%p\n", _this); - return cppISteamUGC_STEAMUGC_INTERFACE_VERSION009_UpdateItemPreviewFile(_this->linux_side, handle, index, pszPreviewFile); + return cppISteamUGC_STEAMUGC_INTERFACE_VERSION009_UpdateItemPreviewFile(_this->linux_side, handle, index, pszPreviewFile ? lin_pszPreviewFile : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION009_UpdateItemPreviewVideo, 20) @@ -1057,10 +1076,11 @@ uint32 __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION009_GetItemState(winISt DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION009_GetItemInstallInfo, 28) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION009_GetItemInstallInfo(winISteamUGC_STEAMUGC_INTERFACE_VERSION009 *_this, PublishedFileId_t nPublishedFileID, uint64 * punSizeOnDisk, char * pchFolder, uint32 cchFolderSize, uint32 * punTimeStamp) { - uint32 path_result; + bool path_result; TRACE("%p\n", _this); path_result = cppISteamUGC_STEAMUGC_INTERFACE_VERSION009_GetItemInstallInfo(_this->linux_side, nPublishedFileID, punSizeOnDisk, pchFolder, cchFolderSize, punTimeStamp); - return steamclient_unix_path_to_dos_path(path_result, pchFolder, cchFolderSize); + steamclient_unix_path_to_dos_path(path_result, pchFolder, pchFolder, cchFolderSize); + return path_result; } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION009_GetItemDownloadInfo, 20) @@ -1080,8 +1100,10 @@ bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION009_DownloadItem(winIStea DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION009_BInitWorkshopForGameServer, 12) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION009_BInitWorkshopForGameServer(winISteamUGC_STEAMUGC_INTERFACE_VERSION009 *_this, DepotId_t unWorkshopDepotID, const char * pszFolder) { + char lin_pszFolder[PATH_MAX]; + steamclient_dos_path_to_unix_path(pszFolder, lin_pszFolder); TRACE("%p\n", _this); - return cppISteamUGC_STEAMUGC_INTERFACE_VERSION009_BInitWorkshopForGameServer(_this->linux_side, unWorkshopDepotID, pszFolder); + return cppISteamUGC_STEAMUGC_INTERFACE_VERSION009_BInitWorkshopForGameServer(_this->linux_side, unWorkshopDepotID, pszFolder ? lin_pszFolder : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION009_SuspendDownloads, 5) @@ -1475,15 +1497,19 @@ bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION008_SetItemTags(winISteam DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION008_SetItemContent, 16) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION008_SetItemContent(winISteamUGC_STEAMUGC_INTERFACE_VERSION008 *_this, UGCUpdateHandle_t handle, const char * pszContentFolder) { + char lin_pszContentFolder[PATH_MAX]; + steamclient_dos_path_to_unix_path(pszContentFolder, lin_pszContentFolder); TRACE("%p\n", _this); - return cppISteamUGC_STEAMUGC_INTERFACE_VERSION008_SetItemContent(_this->linux_side, handle, pszContentFolder); + return cppISteamUGC_STEAMUGC_INTERFACE_VERSION008_SetItemContent(_this->linux_side, handle, pszContentFolder ? lin_pszContentFolder : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION008_SetItemPreview, 16) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION008_SetItemPreview(winISteamUGC_STEAMUGC_INTERFACE_VERSION008 *_this, UGCUpdateHandle_t handle, const char * pszPreviewFile) { + char lin_pszPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pszPreviewFile, lin_pszPreviewFile); TRACE("%p\n", _this); - return cppISteamUGC_STEAMUGC_INTERFACE_VERSION008_SetItemPreview(_this->linux_side, handle, pszPreviewFile); + return cppISteamUGC_STEAMUGC_INTERFACE_VERSION008_SetItemPreview(_this->linux_side, handle, pszPreviewFile ? lin_pszPreviewFile : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION008_RemoveItemKeyValueTags, 16) @@ -1503,8 +1529,10 @@ bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION008_AddItemKeyValueTag(wi DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION008_AddItemPreviewFile, 20) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION008_AddItemPreviewFile(winISteamUGC_STEAMUGC_INTERFACE_VERSION008 *_this, UGCUpdateHandle_t handle, const char * pszPreviewFile, EItemPreviewType type) { + char lin_pszPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pszPreviewFile, lin_pszPreviewFile); TRACE("%p\n", _this); - return cppISteamUGC_STEAMUGC_INTERFACE_VERSION008_AddItemPreviewFile(_this->linux_side, handle, pszPreviewFile, type); + return cppISteamUGC_STEAMUGC_INTERFACE_VERSION008_AddItemPreviewFile(_this->linux_side, handle, pszPreviewFile ? lin_pszPreviewFile : NULL, type); } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION008_AddItemPreviewVideo, 16) @@ -1517,8 +1545,10 @@ bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION008_AddItemPreviewVideo(w DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION008_UpdateItemPreviewFile, 20) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION008_UpdateItemPreviewFile(winISteamUGC_STEAMUGC_INTERFACE_VERSION008 *_this, UGCUpdateHandle_t handle, uint32 index, const char * pszPreviewFile) { + char lin_pszPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pszPreviewFile, lin_pszPreviewFile); TRACE("%p\n", _this); - return cppISteamUGC_STEAMUGC_INTERFACE_VERSION008_UpdateItemPreviewFile(_this->linux_side, handle, index, pszPreviewFile); + return cppISteamUGC_STEAMUGC_INTERFACE_VERSION008_UpdateItemPreviewFile(_this->linux_side, handle, index, pszPreviewFile ? lin_pszPreviewFile : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION008_UpdateItemPreviewVideo, 20) @@ -1615,10 +1645,11 @@ uint32 __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION008_GetItemState(winISt DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION008_GetItemInstallInfo, 28) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION008_GetItemInstallInfo(winISteamUGC_STEAMUGC_INTERFACE_VERSION008 *_this, PublishedFileId_t nPublishedFileID, uint64 * punSizeOnDisk, char * pchFolder, uint32 cchFolderSize, uint32 * punTimeStamp) { - uint32 path_result; + bool path_result; TRACE("%p\n", _this); path_result = cppISteamUGC_STEAMUGC_INTERFACE_VERSION008_GetItemInstallInfo(_this->linux_side, nPublishedFileID, punSizeOnDisk, pchFolder, cchFolderSize, punTimeStamp); - return steamclient_unix_path_to_dos_path(path_result, pchFolder, cchFolderSize); + steamclient_unix_path_to_dos_path(path_result, pchFolder, pchFolder, cchFolderSize); + return path_result; } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION008_GetItemDownloadInfo, 20) @@ -1638,8 +1669,10 @@ bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION008_DownloadItem(winIStea DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION008_BInitWorkshopForGameServer, 12) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION008_BInitWorkshopForGameServer(winISteamUGC_STEAMUGC_INTERFACE_VERSION008 *_this, DepotId_t unWorkshopDepotID, const char * pszFolder) { + char lin_pszFolder[PATH_MAX]; + steamclient_dos_path_to_unix_path(pszFolder, lin_pszFolder); TRACE("%p\n", _this); - return cppISteamUGC_STEAMUGC_INTERFACE_VERSION008_BInitWorkshopForGameServer(_this->linux_side, unWorkshopDepotID, pszFolder); + return cppISteamUGC_STEAMUGC_INTERFACE_VERSION008_BInitWorkshopForGameServer(_this->linux_side, unWorkshopDepotID, pszFolder ? lin_pszFolder : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION008_SuspendDownloads, 5) @@ -2008,15 +2041,19 @@ bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION007_SetItemTags(winISteam DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION007_SetItemContent, 16) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION007_SetItemContent(winISteamUGC_STEAMUGC_INTERFACE_VERSION007 *_this, UGCUpdateHandle_t handle, const char * pszContentFolder) { + char lin_pszContentFolder[PATH_MAX]; + steamclient_dos_path_to_unix_path(pszContentFolder, lin_pszContentFolder); TRACE("%p\n", _this); - return cppISteamUGC_STEAMUGC_INTERFACE_VERSION007_SetItemContent(_this->linux_side, handle, pszContentFolder); + return cppISteamUGC_STEAMUGC_INTERFACE_VERSION007_SetItemContent(_this->linux_side, handle, pszContentFolder ? lin_pszContentFolder : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION007_SetItemPreview, 16) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION007_SetItemPreview(winISteamUGC_STEAMUGC_INTERFACE_VERSION007 *_this, UGCUpdateHandle_t handle, const char * pszPreviewFile) { + char lin_pszPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pszPreviewFile, lin_pszPreviewFile); TRACE("%p\n", _this); - return cppISteamUGC_STEAMUGC_INTERFACE_VERSION007_SetItemPreview(_this->linux_side, handle, pszPreviewFile); + return cppISteamUGC_STEAMUGC_INTERFACE_VERSION007_SetItemPreview(_this->linux_side, handle, pszPreviewFile ? lin_pszPreviewFile : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION007_RemoveItemKeyValueTags, 16) @@ -2113,10 +2150,11 @@ uint32 __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION007_GetItemState(winISt DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION007_GetItemInstallInfo, 28) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION007_GetItemInstallInfo(winISteamUGC_STEAMUGC_INTERFACE_VERSION007 *_this, PublishedFileId_t nPublishedFileID, uint64 * punSizeOnDisk, char * pchFolder, uint32 cchFolderSize, uint32 * punTimeStamp) { - uint32 path_result; + bool path_result; TRACE("%p\n", _this); path_result = cppISteamUGC_STEAMUGC_INTERFACE_VERSION007_GetItemInstallInfo(_this->linux_side, nPublishedFileID, punSizeOnDisk, pchFolder, cchFolderSize, punTimeStamp); - return steamclient_unix_path_to_dos_path(path_result, pchFolder, cchFolderSize); + steamclient_unix_path_to_dos_path(path_result, pchFolder, pchFolder, cchFolderSize); + return path_result; } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION007_GetItemDownloadInfo, 20) @@ -2136,8 +2174,10 @@ bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION007_DownloadItem(winIStea DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION007_BInitWorkshopForGameServer, 12) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION007_BInitWorkshopForGameServer(winISteamUGC_STEAMUGC_INTERFACE_VERSION007 *_this, DepotId_t unWorkshopDepotID, const char * pszFolder) { + char lin_pszFolder[PATH_MAX]; + steamclient_dos_path_to_unix_path(pszFolder, lin_pszFolder); TRACE("%p\n", _this); - return cppISteamUGC_STEAMUGC_INTERFACE_VERSION007_BInitWorkshopForGameServer(_this->linux_side, unWorkshopDepotID, pszFolder); + return cppISteamUGC_STEAMUGC_INTERFACE_VERSION007_BInitWorkshopForGameServer(_this->linux_side, unWorkshopDepotID, pszFolder ? lin_pszFolder : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION007_SuspendDownloads, 5) @@ -2459,15 +2499,19 @@ bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION005_SetItemTags(winISteam DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION005_SetItemContent, 16) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION005_SetItemContent(winISteamUGC_STEAMUGC_INTERFACE_VERSION005 *_this, UGCUpdateHandle_t handle, const char * pszContentFolder) { + char lin_pszContentFolder[PATH_MAX]; + steamclient_dos_path_to_unix_path(pszContentFolder, lin_pszContentFolder); TRACE("%p\n", _this); - return cppISteamUGC_STEAMUGC_INTERFACE_VERSION005_SetItemContent(_this->linux_side, handle, pszContentFolder); + return cppISteamUGC_STEAMUGC_INTERFACE_VERSION005_SetItemContent(_this->linux_side, handle, pszContentFolder ? lin_pszContentFolder : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION005_SetItemPreview, 16) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION005_SetItemPreview(winISteamUGC_STEAMUGC_INTERFACE_VERSION005 *_this, UGCUpdateHandle_t handle, const char * pszPreviewFile) { + char lin_pszPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pszPreviewFile, lin_pszPreviewFile); TRACE("%p\n", _this); - return cppISteamUGC_STEAMUGC_INTERFACE_VERSION005_SetItemPreview(_this->linux_side, handle, pszPreviewFile); + return cppISteamUGC_STEAMUGC_INTERFACE_VERSION005_SetItemPreview(_this->linux_side, handle, pszPreviewFile ? lin_pszPreviewFile : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION005_SubmitItemUpdate, 16) @@ -2536,10 +2580,11 @@ uint32 __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION005_GetItemState(winISt DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION005_GetItemInstallInfo, 28) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION005_GetItemInstallInfo(winISteamUGC_STEAMUGC_INTERFACE_VERSION005 *_this, PublishedFileId_t nPublishedFileID, uint64 * punSizeOnDisk, char * pchFolder, uint32 cchFolderSize, uint32 * punTimeStamp) { - uint32 path_result; + bool path_result; TRACE("%p\n", _this); path_result = cppISteamUGC_STEAMUGC_INTERFACE_VERSION005_GetItemInstallInfo(_this->linux_side, nPublishedFileID, punSizeOnDisk, pchFolder, cchFolderSize, punTimeStamp); - return steamclient_unix_path_to_dos_path(path_result, pchFolder, cchFolderSize); + steamclient_unix_path_to_dos_path(path_result, pchFolder, pchFolder, cchFolderSize); + return path_result; } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION005_GetItemDownloadInfo, 20) @@ -2779,15 +2824,19 @@ bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION003_SetItemTags(winISteam DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION003_SetItemContent, 16) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION003_SetItemContent(winISteamUGC_STEAMUGC_INTERFACE_VERSION003 *_this, UGCUpdateHandle_t handle, const char * pszContentFolder) { + char lin_pszContentFolder[PATH_MAX]; + steamclient_dos_path_to_unix_path(pszContentFolder, lin_pszContentFolder); TRACE("%p\n", _this); - return cppISteamUGC_STEAMUGC_INTERFACE_VERSION003_SetItemContent(_this->linux_side, handle, pszContentFolder); + return cppISteamUGC_STEAMUGC_INTERFACE_VERSION003_SetItemContent(_this->linux_side, handle, pszContentFolder ? lin_pszContentFolder : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION003_SetItemPreview, 16) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION003_SetItemPreview(winISteamUGC_STEAMUGC_INTERFACE_VERSION003 *_this, UGCUpdateHandle_t handle, const char * pszPreviewFile) { + char lin_pszPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pszPreviewFile, lin_pszPreviewFile); TRACE("%p\n", _this); - return cppISteamUGC_STEAMUGC_INTERFACE_VERSION003_SetItemPreview(_this->linux_side, handle, pszPreviewFile); + return cppISteamUGC_STEAMUGC_INTERFACE_VERSION003_SetItemPreview(_this->linux_side, handle, pszPreviewFile ? lin_pszPreviewFile : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION003_SubmitItemUpdate, 16) @@ -2835,10 +2884,11 @@ uint32 __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION003_GetSubscribedItems( DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION003_GetItemInstallInfo, 28) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION003_GetItemInstallInfo(winISteamUGC_STEAMUGC_INTERFACE_VERSION003 *_this, PublishedFileId_t nPublishedFileID, uint64 * punSizeOnDisk, char * pchFolder, uint32 cchFolderSize, bool * pbLegacyItem) { - uint32 path_result; + bool path_result; TRACE("%p\n", _this); path_result = cppISteamUGC_STEAMUGC_INTERFACE_VERSION003_GetItemInstallInfo(_this->linux_side, nPublishedFileID, punSizeOnDisk, pchFolder, cchFolderSize, pbLegacyItem); - return steamclient_unix_path_to_dos_path(path_result, pchFolder, cchFolderSize); + steamclient_unix_path_to_dos_path(path_result, pchFolder, pchFolder, cchFolderSize); + return path_result; } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION003_GetItemUpdateInfo, 28) @@ -3056,15 +3106,19 @@ bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION002_SetItemTags(winISteam DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION002_SetItemContent, 16) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION002_SetItemContent(winISteamUGC_STEAMUGC_INTERFACE_VERSION002 *_this, UGCUpdateHandle_t handle, const char * pszContentFolder) { + char lin_pszContentFolder[PATH_MAX]; + steamclient_dos_path_to_unix_path(pszContentFolder, lin_pszContentFolder); TRACE("%p\n", _this); - return cppISteamUGC_STEAMUGC_INTERFACE_VERSION002_SetItemContent(_this->linux_side, handle, pszContentFolder); + return cppISteamUGC_STEAMUGC_INTERFACE_VERSION002_SetItemContent(_this->linux_side, handle, pszContentFolder ? lin_pszContentFolder : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION002_SetItemPreview, 16) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION002_SetItemPreview(winISteamUGC_STEAMUGC_INTERFACE_VERSION002 *_this, UGCUpdateHandle_t handle, const char * pszPreviewFile) { + char lin_pszPreviewFile[PATH_MAX]; + steamclient_dos_path_to_unix_path(pszPreviewFile, lin_pszPreviewFile); TRACE("%p\n", _this); - return cppISteamUGC_STEAMUGC_INTERFACE_VERSION002_SetItemPreview(_this->linux_side, handle, pszPreviewFile); + return cppISteamUGC_STEAMUGC_INTERFACE_VERSION002_SetItemPreview(_this->linux_side, handle, pszPreviewFile ? lin_pszPreviewFile : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION002_SubmitItemUpdate, 16) @@ -3112,10 +3166,11 @@ uint32 __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION002_GetSubscribedItems( DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION002_GetItemInstallInfo, 24) bool __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION002_GetItemInstallInfo(winISteamUGC_STEAMUGC_INTERFACE_VERSION002 *_this, PublishedFileId_t nPublishedFileID, uint64 * punSizeOnDisk, char * pchFolder, uint32 cchFolderSize) { - uint32 path_result; + bool path_result; TRACE("%p\n", _this); path_result = cppISteamUGC_STEAMUGC_INTERFACE_VERSION002_GetItemInstallInfo(_this->linux_side, nPublishedFileID, punSizeOnDisk, pchFolder, cchFolderSize); - return steamclient_unix_path_to_dos_path(path_result, pchFolder, cchFolderSize); + steamclient_unix_path_to_dos_path(path_result, pchFolder, pchFolder, cchFolderSize); + return path_result; } DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION002_GetItemUpdateInfo, 28) diff --git a/lsteamclient/winISteamUser.c b/lsteamclient/winISteamUser.c index 03306715..e4ea764c 100644 --- a/lsteamclient/winISteamUser.c +++ b/lsteamclient/winISteamUser.c @@ -66,8 +66,11 @@ void __thiscall winISteamUser_SteamUser019_TrackAppUsageEvent(winISteamUser_Stea DEFINE_THISCALL_WRAPPER(winISteamUser_SteamUser019_GetUserDataFolder, 12) bool __thiscall winISteamUser_SteamUser019_GetUserDataFolder(winISteamUser_SteamUser019 *_this, char * pchBuffer, int cubBuffer) { + bool path_result; TRACE("%p\n", _this); - return cppISteamUser_SteamUser019_GetUserDataFolder(_this->linux_side, pchBuffer, cubBuffer); + path_result = cppISteamUser_SteamUser019_GetUserDataFolder(_this->linux_side, pchBuffer, cubBuffer); + steamclient_unix_path_to_dos_path(path_result, pchBuffer, pchBuffer, cubBuffer); + return path_result; } DEFINE_THISCALL_WRAPPER(winISteamUser_SteamUser019_StartVoiceRecording, 4) @@ -326,8 +329,11 @@ void __thiscall winISteamUser_SteamUser018_TrackAppUsageEvent(winISteamUser_Stea DEFINE_THISCALL_WRAPPER(winISteamUser_SteamUser018_GetUserDataFolder, 12) bool __thiscall winISteamUser_SteamUser018_GetUserDataFolder(winISteamUser_SteamUser018 *_this, char * pchBuffer, int cubBuffer) { + bool path_result; TRACE("%p\n", _this); - return cppISteamUser_SteamUser018_GetUserDataFolder(_this->linux_side, pchBuffer, cubBuffer); + path_result = cppISteamUser_SteamUser018_GetUserDataFolder(_this->linux_side, pchBuffer, cubBuffer); + steamclient_unix_path_to_dos_path(path_result, pchBuffer, pchBuffer, cubBuffer); + return path_result; } DEFINE_THISCALL_WRAPPER(winISteamUser_SteamUser018_StartVoiceRecording, 4) @@ -554,8 +560,11 @@ void __thiscall winISteamUser_SteamUser017_TrackAppUsageEvent(winISteamUser_Stea DEFINE_THISCALL_WRAPPER(winISteamUser_SteamUser017_GetUserDataFolder, 12) bool __thiscall winISteamUser_SteamUser017_GetUserDataFolder(winISteamUser_SteamUser017 *_this, char * pchBuffer, int cubBuffer) { + bool path_result; TRACE("%p\n", _this); - return cppISteamUser_SteamUser017_GetUserDataFolder(_this->linux_side, pchBuffer, cubBuffer); + path_result = cppISteamUser_SteamUser017_GetUserDataFolder(_this->linux_side, pchBuffer, cubBuffer); + steamclient_unix_path_to_dos_path(path_result, pchBuffer, pchBuffer, cubBuffer); + return path_result; } DEFINE_THISCALL_WRAPPER(winISteamUser_SteamUser017_StartVoiceRecording, 4) @@ -774,8 +783,11 @@ void __thiscall winISteamUser_SteamUser016_TrackAppUsageEvent(winISteamUser_Stea DEFINE_THISCALL_WRAPPER(winISteamUser_SteamUser016_GetUserDataFolder, 12) bool __thiscall winISteamUser_SteamUser016_GetUserDataFolder(winISteamUser_SteamUser016 *_this, char * pchBuffer, int cubBuffer) { + bool path_result; TRACE("%p\n", _this); - return cppISteamUser_SteamUser016_GetUserDataFolder(_this->linux_side, pchBuffer, cubBuffer); + path_result = cppISteamUser_SteamUser016_GetUserDataFolder(_this->linux_side, pchBuffer, cubBuffer); + steamclient_unix_path_to_dos_path(path_result, pchBuffer, pchBuffer, cubBuffer); + return path_result; } DEFINE_THISCALL_WRAPPER(winISteamUser_SteamUser016_StartVoiceRecording, 4) @@ -978,8 +990,11 @@ void __thiscall winISteamUser_SteamUser014_TrackAppUsageEvent(winISteamUser_Stea DEFINE_THISCALL_WRAPPER(winISteamUser_SteamUser014_GetUserDataFolder, 12) bool __thiscall winISteamUser_SteamUser014_GetUserDataFolder(winISteamUser_SteamUser014 *_this, char * pchBuffer, int cubBuffer) { + bool path_result; TRACE("%p\n", _this); - return cppISteamUser_SteamUser014_GetUserDataFolder(_this->linux_side, pchBuffer, cubBuffer); + path_result = cppISteamUser_SteamUser014_GetUserDataFolder(_this->linux_side, pchBuffer, cubBuffer); + steamclient_unix_path_to_dos_path(path_result, pchBuffer, pchBuffer, cubBuffer); + return path_result; } DEFINE_THISCALL_WRAPPER(winISteamUser_SteamUser014_StartVoiceRecording, 4) @@ -1174,8 +1189,11 @@ void __thiscall winISteamUser_SteamUser013_TrackAppUsageEvent(winISteamUser_Stea DEFINE_THISCALL_WRAPPER(winISteamUser_SteamUser013_GetUserDataFolder, 12) bool __thiscall winISteamUser_SteamUser013_GetUserDataFolder(winISteamUser_SteamUser013 *_this, char * pchBuffer, int cubBuffer) { + bool path_result; TRACE("%p\n", _this); - return cppISteamUser_SteamUser013_GetUserDataFolder(_this->linux_side, pchBuffer, cubBuffer); + path_result = cppISteamUser_SteamUser013_GetUserDataFolder(_this->linux_side, pchBuffer, cubBuffer); + steamclient_unix_path_to_dos_path(path_result, pchBuffer, pchBuffer, cubBuffer); + return path_result; } DEFINE_THISCALL_WRAPPER(winISteamUser_SteamUser013_StartVoiceRecording, 4) @@ -1338,8 +1356,11 @@ void __thiscall winISteamUser_SteamUser012_TrackAppUsageEvent(winISteamUser_Stea DEFINE_THISCALL_WRAPPER(winISteamUser_SteamUser012_GetUserDataFolder, 12) bool __thiscall winISteamUser_SteamUser012_GetUserDataFolder(winISteamUser_SteamUser012 *_this, char * pchBuffer, int cubBuffer) { + bool path_result; TRACE("%p\n", _this); - return cppISteamUser_SteamUser012_GetUserDataFolder(_this->linux_side, pchBuffer, cubBuffer); + path_result = cppISteamUser_SteamUser012_GetUserDataFolder(_this->linux_side, pchBuffer, cubBuffer); + steamclient_unix_path_to_dos_path(path_result, pchBuffer, pchBuffer, cubBuffer); + return path_result; } DEFINE_THISCALL_WRAPPER(winISteamUser_SteamUser012_StartVoiceRecording, 4) @@ -1494,8 +1515,11 @@ void __thiscall winISteamUser_SteamUser011_TrackAppUsageEvent(winISteamUser_Stea DEFINE_THISCALL_WRAPPER(winISteamUser_SteamUser011_GetUserDataFolder, 12) bool __thiscall winISteamUser_SteamUser011_GetUserDataFolder(winISteamUser_SteamUser011 *_this, char * pchBuffer, int cubBuffer) { + bool path_result; TRACE("%p\n", _this); - return cppISteamUser_SteamUser011_GetUserDataFolder(_this->linux_side, pchBuffer, cubBuffer); + path_result = cppISteamUser_SteamUser011_GetUserDataFolder(_this->linux_side, pchBuffer, cubBuffer); + steamclient_unix_path_to_dos_path(path_result, pchBuffer, pchBuffer, cubBuffer); + return path_result; } DEFINE_THISCALL_WRAPPER(winISteamUser_SteamUser011_StartVoiceRecording, 4) diff --git a/lsteamclient/winISteamUtils.c b/lsteamclient/winISteamUtils.c index 1d8a389b..5151918b 100644 --- a/lsteamclient/winISteamUtils.c +++ b/lsteamclient/winISteamUtils.c @@ -156,8 +156,10 @@ bool __thiscall winISteamUtils_SteamUtils009_BOverlayNeedsPresent(winISteamUtils DEFINE_THISCALL_WRAPPER(winISteamUtils_SteamUtils009_CheckFileSignature, 8) SteamAPICall_t __thiscall winISteamUtils_SteamUtils009_CheckFileSignature(winISteamUtils_SteamUtils009 *_this, const char * szFileName) { + char lin_szFileName[PATH_MAX]; + steamclient_dos_path_to_unix_path(szFileName, lin_szFileName); TRACE("%p\n", _this); - return cppISteamUtils_SteamUtils009_CheckFileSignature(_this->linux_side, szFileName); + return cppISteamUtils_SteamUtils009_CheckFileSignature(_this->linux_side, szFileName ? lin_szFileName : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUtils_SteamUtils009_ShowGamepadTextInput, 24) @@ -423,8 +425,10 @@ bool __thiscall winISteamUtils_SteamUtils008_BOverlayNeedsPresent(winISteamUtils DEFINE_THISCALL_WRAPPER(winISteamUtils_SteamUtils008_CheckFileSignature, 8) SteamAPICall_t __thiscall winISteamUtils_SteamUtils008_CheckFileSignature(winISteamUtils_SteamUtils008 *_this, const char * szFileName) { + char lin_szFileName[PATH_MAX]; + steamclient_dos_path_to_unix_path(szFileName, lin_szFileName); TRACE("%p\n", _this); - return cppISteamUtils_SteamUtils008_CheckFileSignature(_this->linux_side, szFileName); + return cppISteamUtils_SteamUtils008_CheckFileSignature(_this->linux_side, szFileName ? lin_szFileName : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUtils_SteamUtils008_ShowGamepadTextInput, 24) @@ -674,8 +678,10 @@ bool __thiscall winISteamUtils_SteamUtils007_BOverlayNeedsPresent(winISteamUtils DEFINE_THISCALL_WRAPPER(winISteamUtils_SteamUtils007_CheckFileSignature, 8) SteamAPICall_t __thiscall winISteamUtils_SteamUtils007_CheckFileSignature(winISteamUtils_SteamUtils007 *_this, const char * szFileName) { + char lin_szFileName[PATH_MAX]; + steamclient_dos_path_to_unix_path(szFileName, lin_szFileName); TRACE("%p\n", _this); - return cppISteamUtils_SteamUtils007_CheckFileSignature(_this->linux_side, szFileName); + return cppISteamUtils_SteamUtils007_CheckFileSignature(_this->linux_side, szFileName ? lin_szFileName : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUtils_SteamUtils007_ShowGamepadTextInput, 24) @@ -909,8 +915,10 @@ bool __thiscall winISteamUtils_SteamUtils006_BOverlayNeedsPresent(winISteamUtils DEFINE_THISCALL_WRAPPER(winISteamUtils_SteamUtils006_CheckFileSignature, 8) SteamAPICall_t __thiscall winISteamUtils_SteamUtils006_CheckFileSignature(winISteamUtils_SteamUtils006 *_this, const char * szFileName) { + char lin_szFileName[PATH_MAX]; + steamclient_dos_path_to_unix_path(szFileName, lin_szFileName); TRACE("%p\n", _this); - return cppISteamUtils_SteamUtils006_CheckFileSignature(_this->linux_side, szFileName); + return cppISteamUtils_SteamUtils006_CheckFileSignature(_this->linux_side, szFileName ? lin_szFileName : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUtils_SteamUtils006_ShowGamepadTextInput, 20) @@ -1136,8 +1144,10 @@ bool __thiscall winISteamUtils_SteamUtils005_BOverlayNeedsPresent(winISteamUtils DEFINE_THISCALL_WRAPPER(winISteamUtils_SteamUtils005_CheckFileSignature, 8) SteamAPICall_t __thiscall winISteamUtils_SteamUtils005_CheckFileSignature(winISteamUtils_SteamUtils005 *_this, const char * szFileName) { + char lin_szFileName[PATH_MAX]; + steamclient_dos_path_to_unix_path(szFileName, lin_szFileName); TRACE("%p\n", _this); - return cppISteamUtils_SteamUtils005_CheckFileSignature(_this->linux_side, szFileName); + return cppISteamUtils_SteamUtils005_CheckFileSignature(_this->linux_side, szFileName ? lin_szFileName : NULL); } DEFINE_THISCALL_WRAPPER(winISteamUtils_SteamUtils005_ShowGamepadTextInput, 20)