From 43481a24ff0a681f7287ecf0ec08940d8dd06146 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Bernon?= Date: Mon, 2 Oct 2023 23:13:55 +0200 Subject: [PATCH] vrclient: Move dos to unix path conversion to the unix side. CW-Bug-Id: #22729 --- vrclient_x64/gen_wrapper.py | 15 ++-- ...cppIVRApplications_IVRApplications_001.cpp | 8 ++- ...cppIVRApplications_IVRApplications_002.cpp | 8 ++- ...cppIVRApplications_IVRApplications_003.cpp | 8 ++- ...cppIVRApplications_IVRApplications_004.cpp | 8 ++- ...cppIVRApplications_IVRApplications_005.cpp | 8 ++- ...cppIVRApplications_IVRApplications_006.cpp | 8 ++- ...cppIVRApplications_IVRApplications_007.cpp | 8 ++- .../cppIVRCompositor_IVRCompositor_005.cpp | 4 +- .../cppIVRCompositor_IVRCompositor_024.cpp | 4 +- .../cppIVRCompositor_IVRCompositor_026.cpp | 4 +- .../cppIVRCompositor_IVRCompositor_027.cpp | 4 +- ...cppIVRControlPanel_IVRControlPanel_006.cpp | 8 ++- .../vrclient_x64/cppIVRInput_IVRInput_003.cpp | 4 +- .../vrclient_x64/cppIVRInput_IVRInput_004.cpp | 4 +- .../vrclient_x64/cppIVRInput_IVRInput_005.cpp | 4 +- .../vrclient_x64/cppIVRInput_IVRInput_006.cpp | 4 +- .../vrclient_x64/cppIVRInput_IVRInput_007.cpp | 4 +- .../vrclient_x64/cppIVRInput_IVRInput_010.cpp | 4 +- .../cppIVROverlay_IVROverlay_001.cpp | 4 +- .../cppIVROverlay_IVROverlay_002.cpp | 4 +- .../cppIVROverlay_IVROverlay_003.cpp | 4 +- .../cppIVROverlay_IVROverlay_004.cpp | 4 +- .../cppIVROverlay_IVROverlay_005.cpp | 4 +- .../cppIVROverlay_IVROverlay_007.cpp | 4 +- .../cppIVROverlay_IVROverlay_008.cpp | 4 +- .../cppIVROverlay_IVROverlay_010.cpp | 4 +- .../cppIVROverlay_IVROverlay_011.cpp | 4 +- .../cppIVROverlay_IVROverlay_012.cpp | 4 +- .../cppIVROverlay_IVROverlay_013.cpp | 4 +- .../cppIVROverlay_IVROverlay_014.cpp | 4 +- .../cppIVROverlay_IVROverlay_016.cpp | 4 +- .../cppIVROverlay_IVROverlay_017.cpp | 4 +- .../cppIVROverlay_IVROverlay_018.cpp | 4 +- .../cppIVROverlay_IVROverlay_019.cpp | 4 +- .../cppIVROverlay_IVROverlay_020.cpp | 4 +- .../cppIVROverlay_IVROverlay_021.cpp | 4 +- .../cppIVROverlay_IVROverlay_022.cpp | 4 +- .../cppIVROverlay_IVROverlay_024.cpp | 4 +- .../cppIVROverlay_IVROverlay_025.cpp | 4 +- .../cppIVROverlay_IVROverlay_026.cpp | 4 +- .../cppIVROverlay_IVROverlay_027.cpp | 4 +- .../cppIVRScreenshots_IVRScreenshots_001.cpp | 18 ++++- vrclient_x64/vrclient_x64/json_converter.cpp | 68 ++++++++++++++++++- vrclient_x64/vrclient_x64/unix_private.h | 3 + vrclient_x64/vrclient_x64/vrclient_main.c | 62 ----------------- vrclient_x64/vrclient_x64/vrclient_private.h | 11 --- .../vrclient_x64/winIVRApplications.c | 28 -------- vrclient_x64/vrclient_x64/winIVRCompositor.c | 8 --- .../vrclient_x64/winIVRControlPanel.c | 4 -- vrclient_x64/vrclient_x64/winIVRInput.c | 12 ---- vrclient_x64/vrclient_x64/winIVROverlay.c | 46 ------------- vrclient_x64/vrclient_x64/winIVRScreenshots.c | 12 ---- 53 files changed, 240 insertions(+), 243 deletions(-) diff --git a/vrclient_x64/gen_wrapper.py b/vrclient_x64/gen_wrapper.py index 08a7a163..69b91cb1 100755 --- a/vrclient_x64/gen_wrapper.py +++ b/vrclient_x64/gen_wrapper.py @@ -731,6 +731,10 @@ def handle_method_cpp(method, classname, out): if strip_ns(underlying_typename(param)) not in SIZED_STRUCTS | EXEMPT_STRUCTS: print('Warning:', strip_ns(underlying_typename(param)), name, 'following', prev_name) + path_conv_wtou = PATH_CONV_METHODS_WTOU.get(f'{klass.name}_{method.spelling}', {}) + for name in filter(lambda x: x in names, sorted(path_conv_wtou)): + out(f' char *u_{name} = vrclient_dos_to_unix_path( params->{name} );\n') + need_output = {} for name, param in sorted(need_convert.items()): @@ -784,6 +788,7 @@ def handle_method_cpp(method, classname, out): def param_call(name, param): pfx = '&' if param.type.kind == TypeKind.POINTER else '' if name in size_fixup: return f"u_{name}" + if name in path_conv_wtou: return f"u_{name}" if name in need_convert: return f"params->{name} ? {pfx}u_{name} : nullptr" return f'params->{name}' @@ -793,6 +798,9 @@ def handle_method_cpp(method, classname, out): for name, param in sorted(need_output.items()): out(f' if (params->{name}) *params->{name} = u_{name};\n') + for name in filter(lambda x: x in names, sorted(path_conv_wtou)): + out(f' vrclient_free_path( u_{name} );\n') + out(u' return 0;\n') out(u'}\n\n') @@ -844,10 +852,6 @@ def handle_method_c(klass, method, winclassname, out): out(u' };\n') path_conv_utow = PATH_CONV_METHODS_UTOW.get(f'{klass.name}_{method.spelling}', {}) - path_conv_wtou = PATH_CONV_METHODS_WTOU.get(f'{klass.name}_{method.spelling}', {}) - - for name in filter(lambda x: x in names, sorted(path_conv_wtou)): - out(f' params.{name} = vrclient_dos_to_unix_path( {name} );\n') out(u' TRACE("%p\\n", _this);\n') @@ -862,9 +866,6 @@ def handle_method_c(klass, method, winclassname, out): out(u'params._ret = ') out(f'vrclient_unix_path_to_dos_path( params._ret, {name}, {name}, {conv["len"]} );\n') - for name in filter(lambda x: x in names, sorted(path_conv_wtou)): - out(f' vrclient_free_path( params.{name} );\n') - if not returns_void: out(u' return params._ret;\n') out(u'}\n\n') diff --git a/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_001.cpp b/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_001.cpp index 39643b6e..c5684b74 100644 --- a/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_001.cpp +++ b/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_001.cpp @@ -5,7 +5,9 @@ NTSTATUS IVRApplications_IVRApplications_001_AddApplicationManifest( void *args { struct IVRApplications_IVRApplications_001_AddApplicationManifest_params *params = (struct IVRApplications_IVRApplications_001_AddApplicationManifest_params *)args; struct u_IVRApplications_IVRApplications_001 *iface = (struct u_IVRApplications_IVRApplications_001 *)params->linux_side; - params->_ret = (uint32_t)iface->AddApplicationManifest( params->pchApplicationManifestFullPath, params->bTemporary ); + char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( params->pchApplicationManifestFullPath ); + params->_ret = (uint32_t)iface->AddApplicationManifest( u_pchApplicationManifestFullPath, params->bTemporary ); + vrclient_free_path( u_pchApplicationManifestFullPath ); return 0; } @@ -13,7 +15,9 @@ NTSTATUS IVRApplications_IVRApplications_001_RemoveApplicationManifest( void *ar { struct IVRApplications_IVRApplications_001_RemoveApplicationManifest_params *params = (struct IVRApplications_IVRApplications_001_RemoveApplicationManifest_params *)args; struct u_IVRApplications_IVRApplications_001 *iface = (struct u_IVRApplications_IVRApplications_001 *)params->linux_side; - params->_ret = (uint32_t)iface->RemoveApplicationManifest( params->pchApplicationManifestFullPath ); + char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( params->pchApplicationManifestFullPath ); + params->_ret = (uint32_t)iface->RemoveApplicationManifest( u_pchApplicationManifestFullPath ); + vrclient_free_path( u_pchApplicationManifestFullPath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_002.cpp b/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_002.cpp index 52dca65d..eac11afc 100644 --- a/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_002.cpp +++ b/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_002.cpp @@ -5,7 +5,9 @@ NTSTATUS IVRApplications_IVRApplications_002_AddApplicationManifest( void *args { struct IVRApplications_IVRApplications_002_AddApplicationManifest_params *params = (struct IVRApplications_IVRApplications_002_AddApplicationManifest_params *)args; struct u_IVRApplications_IVRApplications_002 *iface = (struct u_IVRApplications_IVRApplications_002 *)params->linux_side; - params->_ret = (uint32_t)iface->AddApplicationManifest( params->pchApplicationManifestFullPath, params->bTemporary ); + char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( params->pchApplicationManifestFullPath ); + params->_ret = (uint32_t)iface->AddApplicationManifest( u_pchApplicationManifestFullPath, params->bTemporary ); + vrclient_free_path( u_pchApplicationManifestFullPath ); return 0; } @@ -13,7 +15,9 @@ NTSTATUS IVRApplications_IVRApplications_002_RemoveApplicationManifest( void *ar { struct IVRApplications_IVRApplications_002_RemoveApplicationManifest_params *params = (struct IVRApplications_IVRApplications_002_RemoveApplicationManifest_params *)args; struct u_IVRApplications_IVRApplications_002 *iface = (struct u_IVRApplications_IVRApplications_002 *)params->linux_side; - params->_ret = (uint32_t)iface->RemoveApplicationManifest( params->pchApplicationManifestFullPath ); + char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( params->pchApplicationManifestFullPath ); + params->_ret = (uint32_t)iface->RemoveApplicationManifest( u_pchApplicationManifestFullPath ); + vrclient_free_path( u_pchApplicationManifestFullPath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_003.cpp b/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_003.cpp index ef7a958f..51063769 100644 --- a/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_003.cpp +++ b/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_003.cpp @@ -5,7 +5,9 @@ NTSTATUS IVRApplications_IVRApplications_003_AddApplicationManifest( void *args { struct IVRApplications_IVRApplications_003_AddApplicationManifest_params *params = (struct IVRApplications_IVRApplications_003_AddApplicationManifest_params *)args; struct u_IVRApplications_IVRApplications_003 *iface = (struct u_IVRApplications_IVRApplications_003 *)params->linux_side; - params->_ret = (uint32_t)iface->AddApplicationManifest( params->pchApplicationManifestFullPath, params->bTemporary ); + char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( params->pchApplicationManifestFullPath ); + params->_ret = (uint32_t)iface->AddApplicationManifest( u_pchApplicationManifestFullPath, params->bTemporary ); + vrclient_free_path( u_pchApplicationManifestFullPath ); return 0; } @@ -13,7 +15,9 @@ NTSTATUS IVRApplications_IVRApplications_003_RemoveApplicationManifest( void *ar { struct IVRApplications_IVRApplications_003_RemoveApplicationManifest_params *params = (struct IVRApplications_IVRApplications_003_RemoveApplicationManifest_params *)args; struct u_IVRApplications_IVRApplications_003 *iface = (struct u_IVRApplications_IVRApplications_003 *)params->linux_side; - params->_ret = (uint32_t)iface->RemoveApplicationManifest( params->pchApplicationManifestFullPath ); + char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( params->pchApplicationManifestFullPath ); + params->_ret = (uint32_t)iface->RemoveApplicationManifest( u_pchApplicationManifestFullPath ); + vrclient_free_path( u_pchApplicationManifestFullPath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_004.cpp b/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_004.cpp index 42d9a9bd..a1f03b9b 100644 --- a/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_004.cpp +++ b/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_004.cpp @@ -5,7 +5,9 @@ NTSTATUS IVRApplications_IVRApplications_004_AddApplicationManifest( void *args { struct IVRApplications_IVRApplications_004_AddApplicationManifest_params *params = (struct IVRApplications_IVRApplications_004_AddApplicationManifest_params *)args; struct u_IVRApplications_IVRApplications_004 *iface = (struct u_IVRApplications_IVRApplications_004 *)params->linux_side; - params->_ret = (uint32_t)iface->AddApplicationManifest( params->pchApplicationManifestFullPath, params->bTemporary ); + char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( params->pchApplicationManifestFullPath ); + params->_ret = (uint32_t)iface->AddApplicationManifest( u_pchApplicationManifestFullPath, params->bTemporary ); + vrclient_free_path( u_pchApplicationManifestFullPath ); return 0; } @@ -13,7 +15,9 @@ NTSTATUS IVRApplications_IVRApplications_004_RemoveApplicationManifest( void *ar { struct IVRApplications_IVRApplications_004_RemoveApplicationManifest_params *params = (struct IVRApplications_IVRApplications_004_RemoveApplicationManifest_params *)args; struct u_IVRApplications_IVRApplications_004 *iface = (struct u_IVRApplications_IVRApplications_004 *)params->linux_side; - params->_ret = (uint32_t)iface->RemoveApplicationManifest( params->pchApplicationManifestFullPath ); + char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( params->pchApplicationManifestFullPath ); + params->_ret = (uint32_t)iface->RemoveApplicationManifest( u_pchApplicationManifestFullPath ); + vrclient_free_path( u_pchApplicationManifestFullPath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_005.cpp b/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_005.cpp index 945310d8..5a9933e5 100644 --- a/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_005.cpp +++ b/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_005.cpp @@ -5,7 +5,9 @@ NTSTATUS IVRApplications_IVRApplications_005_AddApplicationManifest( void *args { struct IVRApplications_IVRApplications_005_AddApplicationManifest_params *params = (struct IVRApplications_IVRApplications_005_AddApplicationManifest_params *)args; struct u_IVRApplications_IVRApplications_005 *iface = (struct u_IVRApplications_IVRApplications_005 *)params->linux_side; - params->_ret = (uint32_t)iface->AddApplicationManifest( params->pchApplicationManifestFullPath, params->bTemporary ); + char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( params->pchApplicationManifestFullPath ); + params->_ret = (uint32_t)iface->AddApplicationManifest( u_pchApplicationManifestFullPath, params->bTemporary ); + vrclient_free_path( u_pchApplicationManifestFullPath ); return 0; } @@ -13,7 +15,9 @@ NTSTATUS IVRApplications_IVRApplications_005_RemoveApplicationManifest( void *ar { struct IVRApplications_IVRApplications_005_RemoveApplicationManifest_params *params = (struct IVRApplications_IVRApplications_005_RemoveApplicationManifest_params *)args; struct u_IVRApplications_IVRApplications_005 *iface = (struct u_IVRApplications_IVRApplications_005 *)params->linux_side; - params->_ret = (uint32_t)iface->RemoveApplicationManifest( params->pchApplicationManifestFullPath ); + char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( params->pchApplicationManifestFullPath ); + params->_ret = (uint32_t)iface->RemoveApplicationManifest( u_pchApplicationManifestFullPath ); + vrclient_free_path( u_pchApplicationManifestFullPath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_006.cpp b/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_006.cpp index 339ae247..9cc7d84a 100644 --- a/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_006.cpp +++ b/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_006.cpp @@ -5,7 +5,9 @@ NTSTATUS IVRApplications_IVRApplications_006_AddApplicationManifest( void *args { struct IVRApplications_IVRApplications_006_AddApplicationManifest_params *params = (struct IVRApplications_IVRApplications_006_AddApplicationManifest_params *)args; struct u_IVRApplications_IVRApplications_006 *iface = (struct u_IVRApplications_IVRApplications_006 *)params->linux_side; - params->_ret = (uint32_t)iface->AddApplicationManifest( params->pchApplicationManifestFullPath, params->bTemporary ); + char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( params->pchApplicationManifestFullPath ); + params->_ret = (uint32_t)iface->AddApplicationManifest( u_pchApplicationManifestFullPath, params->bTemporary ); + vrclient_free_path( u_pchApplicationManifestFullPath ); return 0; } @@ -13,7 +15,9 @@ NTSTATUS IVRApplications_IVRApplications_006_RemoveApplicationManifest( void *ar { struct IVRApplications_IVRApplications_006_RemoveApplicationManifest_params *params = (struct IVRApplications_IVRApplications_006_RemoveApplicationManifest_params *)args; struct u_IVRApplications_IVRApplications_006 *iface = (struct u_IVRApplications_IVRApplications_006 *)params->linux_side; - params->_ret = (uint32_t)iface->RemoveApplicationManifest( params->pchApplicationManifestFullPath ); + char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( params->pchApplicationManifestFullPath ); + params->_ret = (uint32_t)iface->RemoveApplicationManifest( u_pchApplicationManifestFullPath ); + vrclient_free_path( u_pchApplicationManifestFullPath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_007.cpp b/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_007.cpp index 29fcc411..c1b0227c 100644 --- a/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_007.cpp +++ b/vrclient_x64/vrclient_x64/cppIVRApplications_IVRApplications_007.cpp @@ -5,7 +5,9 @@ NTSTATUS IVRApplications_IVRApplications_007_AddApplicationManifest( void *args { struct IVRApplications_IVRApplications_007_AddApplicationManifest_params *params = (struct IVRApplications_IVRApplications_007_AddApplicationManifest_params *)args; struct u_IVRApplications_IVRApplications_007 *iface = (struct u_IVRApplications_IVRApplications_007 *)params->linux_side; - params->_ret = (uint32_t)iface->AddApplicationManifest( params->pchApplicationManifestFullPath, params->bTemporary ); + char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( params->pchApplicationManifestFullPath ); + params->_ret = (uint32_t)iface->AddApplicationManifest( u_pchApplicationManifestFullPath, params->bTemporary ); + vrclient_free_path( u_pchApplicationManifestFullPath ); return 0; } @@ -13,7 +15,9 @@ NTSTATUS IVRApplications_IVRApplications_007_RemoveApplicationManifest( void *ar { struct IVRApplications_IVRApplications_007_RemoveApplicationManifest_params *params = (struct IVRApplications_IVRApplications_007_RemoveApplicationManifest_params *)args; struct u_IVRApplications_IVRApplications_007 *iface = (struct u_IVRApplications_IVRApplications_007 *)params->linux_side; - params->_ret = (uint32_t)iface->RemoveApplicationManifest( params->pchApplicationManifestFullPath ); + char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( params->pchApplicationManifestFullPath ); + params->_ret = (uint32_t)iface->RemoveApplicationManifest( u_pchApplicationManifestFullPath ); + vrclient_free_path( u_pchApplicationManifestFullPath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVRCompositor_IVRCompositor_005.cpp b/vrclient_x64/vrclient_x64/cppIVRCompositor_IVRCompositor_005.cpp index 7bbf1b74..d9d96610 100644 --- a/vrclient_x64/vrclient_x64/cppIVRCompositor_IVRCompositor_005.cpp +++ b/vrclient_x64/vrclient_x64/cppIVRCompositor_IVRCompositor_005.cpp @@ -101,7 +101,9 @@ NTSTATUS IVRCompositor_IVRCompositor_005_SetOverlayFromFile( void *args ) { struct IVRCompositor_IVRCompositor_005_SetOverlayFromFile_params *params = (struct IVRCompositor_IVRCompositor_005_SetOverlayFromFile_params *)args; struct u_IVRCompositor_IVRCompositor_005 *iface = (struct u_IVRCompositor_IVRCompositor_005 *)params->linux_side; - iface->SetOverlayFromFile( params->pchFilePath, params->pSettings ); + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + iface->SetOverlayFromFile( u_pchFilePath, params->pSettings ); + vrclient_free_path( u_pchFilePath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVRCompositor_IVRCompositor_024.cpp b/vrclient_x64/vrclient_x64/cppIVRCompositor_IVRCompositor_024.cpp index aa8a86ef..85ecc8fd 100644 --- a/vrclient_x64/vrclient_x64/cppIVRCompositor_IVRCompositor_024.cpp +++ b/vrclient_x64/vrclient_x64/cppIVRCompositor_IVRCompositor_024.cpp @@ -349,7 +349,9 @@ NTSTATUS IVRCompositor_IVRCompositor_024_SetStageOverride_Async( void *args ) { struct IVRCompositor_IVRCompositor_024_SetStageOverride_Async_params *params = (struct IVRCompositor_IVRCompositor_024_SetStageOverride_Async_params *)args; struct u_IVRCompositor_IVRCompositor_024 *iface = (struct u_IVRCompositor_IVRCompositor_024 *)params->linux_side; - params->_ret = (uint32_t)iface->SetStageOverride_Async( params->pchRenderModelPath, params->pTransform, params->pRenderSettings, params->nSizeOfRenderSettings ); + char *u_pchRenderModelPath = vrclient_dos_to_unix_path( params->pchRenderModelPath ); + params->_ret = (uint32_t)iface->SetStageOverride_Async( u_pchRenderModelPath, params->pTransform, params->pRenderSettings, params->nSizeOfRenderSettings ); + vrclient_free_path( u_pchRenderModelPath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVRCompositor_IVRCompositor_026.cpp b/vrclient_x64/vrclient_x64/cppIVRCompositor_IVRCompositor_026.cpp index 3035f1a5..67da18a2 100644 --- a/vrclient_x64/vrclient_x64/cppIVRCompositor_IVRCompositor_026.cpp +++ b/vrclient_x64/vrclient_x64/cppIVRCompositor_IVRCompositor_026.cpp @@ -349,7 +349,9 @@ NTSTATUS IVRCompositor_IVRCompositor_026_SetStageOverride_Async( void *args ) { struct IVRCompositor_IVRCompositor_026_SetStageOverride_Async_params *params = (struct IVRCompositor_IVRCompositor_026_SetStageOverride_Async_params *)args; struct u_IVRCompositor_IVRCompositor_026 *iface = (struct u_IVRCompositor_IVRCompositor_026 *)params->linux_side; - params->_ret = (uint32_t)iface->SetStageOverride_Async( params->pchRenderModelPath, params->pTransform, params->pRenderSettings, params->nSizeOfRenderSettings ); + char *u_pchRenderModelPath = vrclient_dos_to_unix_path( params->pchRenderModelPath ); + params->_ret = (uint32_t)iface->SetStageOverride_Async( u_pchRenderModelPath, params->pTransform, params->pRenderSettings, params->nSizeOfRenderSettings ); + vrclient_free_path( u_pchRenderModelPath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVRCompositor_IVRCompositor_027.cpp b/vrclient_x64/vrclient_x64/cppIVRCompositor_IVRCompositor_027.cpp index ce39e2b4..50bb8301 100644 --- a/vrclient_x64/vrclient_x64/cppIVRCompositor_IVRCompositor_027.cpp +++ b/vrclient_x64/vrclient_x64/cppIVRCompositor_IVRCompositor_027.cpp @@ -349,7 +349,9 @@ NTSTATUS IVRCompositor_IVRCompositor_027_SetStageOverride_Async( void *args ) { struct IVRCompositor_IVRCompositor_027_SetStageOverride_Async_params *params = (struct IVRCompositor_IVRCompositor_027_SetStageOverride_Async_params *)args; struct u_IVRCompositor_IVRCompositor_027 *iface = (struct u_IVRCompositor_IVRCompositor_027 *)params->linux_side; - params->_ret = (uint32_t)iface->SetStageOverride_Async( params->pchRenderModelPath, params->pTransform, params->pRenderSettings, params->nSizeOfRenderSettings ); + char *u_pchRenderModelPath = vrclient_dos_to_unix_path( params->pchRenderModelPath ); + params->_ret = (uint32_t)iface->SetStageOverride_Async( u_pchRenderModelPath, params->pTransform, params->pRenderSettings, params->nSizeOfRenderSettings ); + vrclient_free_path( u_pchRenderModelPath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVRControlPanel_IVRControlPanel_006.cpp b/vrclient_x64/vrclient_x64/cppIVRControlPanel_IVRControlPanel_006.cpp index 3ab6a1f8..8eb49246 100644 --- a/vrclient_x64/vrclient_x64/cppIVRControlPanel_IVRControlPanel_006.cpp +++ b/vrclient_x64/vrclient_x64/cppIVRControlPanel_IVRControlPanel_006.cpp @@ -181,7 +181,9 @@ NTSTATUS IVRControlPanel_IVRControlPanel_006_undoc23( void *args ) { struct IVRControlPanel_IVRControlPanel_006_undoc23_params *params = (struct IVRControlPanel_IVRControlPanel_006_undoc23_params *)args; struct u_IVRControlPanel_IVRControlPanel_006 *iface = (struct u_IVRControlPanel_IVRControlPanel_006 *)params->linux_side; - params->_ret = (bool)iface->undoc23( params->a ); + char *u_a = vrclient_dos_to_unix_path( params->a ); + params->_ret = (bool)iface->undoc23( u_a ); + vrclient_free_path( u_a ); return 0; } @@ -213,7 +215,9 @@ NTSTATUS IVRControlPanel_IVRControlPanel_006_undoc27( void *args ) { struct IVRControlPanel_IVRControlPanel_006_undoc27_params *params = (struct IVRControlPanel_IVRControlPanel_006_undoc27_params *)args; struct u_IVRControlPanel_IVRControlPanel_006 *iface = (struct u_IVRControlPanel_IVRControlPanel_006 *)params->linux_side; - params->_ret = (uint32_t)iface->undoc27( params->a ); + char *u_a = vrclient_dos_to_unix_path( params->a ); + params->_ret = (uint32_t)iface->undoc27( u_a ); + vrclient_free_path( u_a ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVRInput_IVRInput_003.cpp b/vrclient_x64/vrclient_x64/cppIVRInput_IVRInput_003.cpp index c617e532..d3dac476 100644 --- a/vrclient_x64/vrclient_x64/cppIVRInput_IVRInput_003.cpp +++ b/vrclient_x64/vrclient_x64/cppIVRInput_IVRInput_003.cpp @@ -5,7 +5,9 @@ NTSTATUS IVRInput_IVRInput_003_SetActionManifestPath( void *args ) { struct IVRInput_IVRInput_003_SetActionManifestPath_params *params = (struct IVRInput_IVRInput_003_SetActionManifestPath_params *)args; struct u_IVRInput_IVRInput_003 *iface = (struct u_IVRInput_IVRInput_003 *)params->linux_side; - params->_ret = (uint32_t)iface->SetActionManifestPath( params->pchActionManifestPath ); + char *u_pchActionManifestPath = vrclient_dos_to_unix_path( params->pchActionManifestPath ); + params->_ret = (uint32_t)iface->SetActionManifestPath( u_pchActionManifestPath ); + vrclient_free_path( u_pchActionManifestPath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVRInput_IVRInput_004.cpp b/vrclient_x64/vrclient_x64/cppIVRInput_IVRInput_004.cpp index ddad950c..0c6d8afc 100644 --- a/vrclient_x64/vrclient_x64/cppIVRInput_IVRInput_004.cpp +++ b/vrclient_x64/vrclient_x64/cppIVRInput_IVRInput_004.cpp @@ -5,7 +5,9 @@ NTSTATUS IVRInput_IVRInput_004_SetActionManifestPath( void *args ) { struct IVRInput_IVRInput_004_SetActionManifestPath_params *params = (struct IVRInput_IVRInput_004_SetActionManifestPath_params *)args; struct u_IVRInput_IVRInput_004 *iface = (struct u_IVRInput_IVRInput_004 *)params->linux_side; - params->_ret = (uint32_t)iface->SetActionManifestPath( params->pchActionManifestPath ); + char *u_pchActionManifestPath = vrclient_dos_to_unix_path( params->pchActionManifestPath ); + params->_ret = (uint32_t)iface->SetActionManifestPath( u_pchActionManifestPath ); + vrclient_free_path( u_pchActionManifestPath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVRInput_IVRInput_005.cpp b/vrclient_x64/vrclient_x64/cppIVRInput_IVRInput_005.cpp index 45f72b67..984479ed 100644 --- a/vrclient_x64/vrclient_x64/cppIVRInput_IVRInput_005.cpp +++ b/vrclient_x64/vrclient_x64/cppIVRInput_IVRInput_005.cpp @@ -5,7 +5,9 @@ NTSTATUS IVRInput_IVRInput_005_SetActionManifestPath( void *args ) { struct IVRInput_IVRInput_005_SetActionManifestPath_params *params = (struct IVRInput_IVRInput_005_SetActionManifestPath_params *)args; struct u_IVRInput_IVRInput_005 *iface = (struct u_IVRInput_IVRInput_005 *)params->linux_side; - params->_ret = (uint32_t)iface->SetActionManifestPath( params->pchActionManifestPath ); + char *u_pchActionManifestPath = vrclient_dos_to_unix_path( params->pchActionManifestPath ); + params->_ret = (uint32_t)iface->SetActionManifestPath( u_pchActionManifestPath ); + vrclient_free_path( u_pchActionManifestPath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVRInput_IVRInput_006.cpp b/vrclient_x64/vrclient_x64/cppIVRInput_IVRInput_006.cpp index cd0a9c1f..db8b4f03 100644 --- a/vrclient_x64/vrclient_x64/cppIVRInput_IVRInput_006.cpp +++ b/vrclient_x64/vrclient_x64/cppIVRInput_IVRInput_006.cpp @@ -5,7 +5,9 @@ NTSTATUS IVRInput_IVRInput_006_SetActionManifestPath( void *args ) { struct IVRInput_IVRInput_006_SetActionManifestPath_params *params = (struct IVRInput_IVRInput_006_SetActionManifestPath_params *)args; struct u_IVRInput_IVRInput_006 *iface = (struct u_IVRInput_IVRInput_006 *)params->linux_side; - params->_ret = (uint32_t)iface->SetActionManifestPath( params->pchActionManifestPath ); + char *u_pchActionManifestPath = vrclient_dos_to_unix_path( params->pchActionManifestPath ); + params->_ret = (uint32_t)iface->SetActionManifestPath( u_pchActionManifestPath ); + vrclient_free_path( u_pchActionManifestPath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVRInput_IVRInput_007.cpp b/vrclient_x64/vrclient_x64/cppIVRInput_IVRInput_007.cpp index 4a82d6a2..8e7ab839 100644 --- a/vrclient_x64/vrclient_x64/cppIVRInput_IVRInput_007.cpp +++ b/vrclient_x64/vrclient_x64/cppIVRInput_IVRInput_007.cpp @@ -5,7 +5,9 @@ NTSTATUS IVRInput_IVRInput_007_SetActionManifestPath( void *args ) { struct IVRInput_IVRInput_007_SetActionManifestPath_params *params = (struct IVRInput_IVRInput_007_SetActionManifestPath_params *)args; struct u_IVRInput_IVRInput_007 *iface = (struct u_IVRInput_IVRInput_007 *)params->linux_side; - params->_ret = (uint32_t)iface->SetActionManifestPath( params->pchActionManifestPath ); + char *u_pchActionManifestPath = vrclient_dos_to_unix_path( params->pchActionManifestPath ); + params->_ret = (uint32_t)iface->SetActionManifestPath( u_pchActionManifestPath ); + vrclient_free_path( u_pchActionManifestPath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVRInput_IVRInput_010.cpp b/vrclient_x64/vrclient_x64/cppIVRInput_IVRInput_010.cpp index f64b8578..127a8ae7 100644 --- a/vrclient_x64/vrclient_x64/cppIVRInput_IVRInput_010.cpp +++ b/vrclient_x64/vrclient_x64/cppIVRInput_IVRInput_010.cpp @@ -5,7 +5,9 @@ NTSTATUS IVRInput_IVRInput_010_SetActionManifestPath( void *args ) { struct IVRInput_IVRInput_010_SetActionManifestPath_params *params = (struct IVRInput_IVRInput_010_SetActionManifestPath_params *)args; struct u_IVRInput_IVRInput_010 *iface = (struct u_IVRInput_IVRInput_010 *)params->linux_side; - params->_ret = (uint32_t)iface->SetActionManifestPath( params->pchActionManifestPath ); + char *u_pchActionManifestPath = vrclient_dos_to_unix_path( params->pchActionManifestPath ); + params->_ret = (uint32_t)iface->SetActionManifestPath( u_pchActionManifestPath ); + vrclient_free_path( u_pchActionManifestPath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_001.cpp b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_001.cpp index 2538d269..bbd38347 100644 --- a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_001.cpp +++ b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_001.cpp @@ -280,7 +280,9 @@ NTSTATUS IVROverlay_IVROverlay_001_SetOverlayFromFile( void *args ) { struct IVROverlay_IVROverlay_001_SetOverlayFromFile_params *params = (struct IVROverlay_IVROverlay_001_SetOverlayFromFile_params *)args; struct u_IVROverlay_IVROverlay_001 *iface = (struct u_IVROverlay_IVROverlay_001 *)params->linux_side; - params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, params->pchFilePath ); + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_002.cpp b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_002.cpp index 698845ae..a9cf8d10 100644 --- a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_002.cpp +++ b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_002.cpp @@ -288,7 +288,9 @@ NTSTATUS IVROverlay_IVROverlay_002_SetOverlayFromFile( void *args ) { struct IVROverlay_IVROverlay_002_SetOverlayFromFile_params *params = (struct IVROverlay_IVROverlay_002_SetOverlayFromFile_params *)args; struct u_IVROverlay_IVROverlay_002 *iface = (struct u_IVROverlay_IVROverlay_002 *)params->linux_side; - params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, params->pchFilePath ); + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_003.cpp b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_003.cpp index 9312d987..e3bbecd7 100644 --- a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_003.cpp +++ b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_003.cpp @@ -312,7 +312,9 @@ NTSTATUS IVROverlay_IVROverlay_003_SetOverlayFromFile( void *args ) { struct IVROverlay_IVROverlay_003_SetOverlayFromFile_params *params = (struct IVROverlay_IVROverlay_003_SetOverlayFromFile_params *)args; struct u_IVROverlay_IVROverlay_003 *iface = (struct u_IVROverlay_IVROverlay_003 *)params->linux_side; - params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, params->pchFilePath ); + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_004.cpp b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_004.cpp index e7c217f4..0a5bb496 100644 --- a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_004.cpp +++ b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_004.cpp @@ -328,7 +328,9 @@ NTSTATUS IVROverlay_IVROverlay_004_SetOverlayFromFile( void *args ) { struct IVROverlay_IVROverlay_004_SetOverlayFromFile_params *params = (struct IVROverlay_IVROverlay_004_SetOverlayFromFile_params *)args; struct u_IVROverlay_IVROverlay_004 *iface = (struct u_IVROverlay_IVROverlay_004 *)params->linux_side; - params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, params->pchFilePath ); + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_005.cpp b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_005.cpp index 3a4b653c..372aeb76 100644 --- a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_005.cpp +++ b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_005.cpp @@ -336,7 +336,9 @@ NTSTATUS IVROverlay_IVROverlay_005_SetOverlayFromFile( void *args ) { struct IVROverlay_IVROverlay_005_SetOverlayFromFile_params *params = (struct IVROverlay_IVROverlay_005_SetOverlayFromFile_params *)args; struct u_IVROverlay_IVROverlay_005 *iface = (struct u_IVROverlay_IVROverlay_005 *)params->linux_side; - params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, params->pchFilePath ); + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_007.cpp b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_007.cpp index 4cc03fdf..89c5da43 100644 --- a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_007.cpp +++ b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_007.cpp @@ -368,7 +368,9 @@ NTSTATUS IVROverlay_IVROverlay_007_SetOverlayFromFile( void *args ) { struct IVROverlay_IVROverlay_007_SetOverlayFromFile_params *params = (struct IVROverlay_IVROverlay_007_SetOverlayFromFile_params *)args; struct u_IVROverlay_IVROverlay_007 *iface = (struct u_IVROverlay_IVROverlay_007 *)params->linux_side; - params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, params->pchFilePath ); + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_008.cpp b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_008.cpp index c952581e..9dc05aef 100644 --- a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_008.cpp +++ b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_008.cpp @@ -376,7 +376,9 @@ NTSTATUS IVROverlay_IVROverlay_008_SetOverlayFromFile( void *args ) { struct IVROverlay_IVROverlay_008_SetOverlayFromFile_params *params = (struct IVROverlay_IVROverlay_008_SetOverlayFromFile_params *)args; struct u_IVROverlay_IVROverlay_008 *iface = (struct u_IVROverlay_IVROverlay_008 *)params->linux_side; - params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, params->pchFilePath ); + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_010.cpp b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_010.cpp index a6811352..b52489ac 100644 --- a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_010.cpp +++ b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_010.cpp @@ -393,7 +393,9 @@ NTSTATUS IVROverlay_IVROverlay_010_SetOverlayFromFile( void *args ) { struct IVROverlay_IVROverlay_010_SetOverlayFromFile_params *params = (struct IVROverlay_IVROverlay_010_SetOverlayFromFile_params *)args; struct u_IVROverlay_IVROverlay_010 *iface = (struct u_IVROverlay_IVROverlay_010 *)params->linux_side; - params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, params->pchFilePath ); + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_011.cpp b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_011.cpp index 47bef88d..9d8bfe2a 100644 --- a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_011.cpp +++ b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_011.cpp @@ -409,7 +409,9 @@ NTSTATUS IVROverlay_IVROverlay_011_SetOverlayFromFile( void *args ) { struct IVROverlay_IVROverlay_011_SetOverlayFromFile_params *params = (struct IVROverlay_IVROverlay_011_SetOverlayFromFile_params *)args; struct u_IVROverlay_IVROverlay_011 *iface = (struct u_IVROverlay_IVROverlay_011 *)params->linux_side; - params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, params->pchFilePath ); + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_012.cpp b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_012.cpp index 5e5c0a6c..f53cc35b 100644 --- a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_012.cpp +++ b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_012.cpp @@ -409,7 +409,9 @@ NTSTATUS IVROverlay_IVROverlay_012_SetOverlayFromFile( void *args ) { struct IVROverlay_IVROverlay_012_SetOverlayFromFile_params *params = (struct IVROverlay_IVROverlay_012_SetOverlayFromFile_params *)args; struct u_IVROverlay_IVROverlay_012 *iface = (struct u_IVROverlay_IVROverlay_012 *)params->linux_side; - params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, params->pchFilePath ); + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_013.cpp b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_013.cpp index fd673773..c4e7b27f 100644 --- a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_013.cpp +++ b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_013.cpp @@ -441,7 +441,9 @@ NTSTATUS IVROverlay_IVROverlay_013_SetOverlayFromFile( void *args ) { struct IVROverlay_IVROverlay_013_SetOverlayFromFile_params *params = (struct IVROverlay_IVROverlay_013_SetOverlayFromFile_params *)args; struct u_IVROverlay_IVROverlay_013 *iface = (struct u_IVROverlay_IVROverlay_013 *)params->linux_side; - params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, params->pchFilePath ); + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_014.cpp b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_014.cpp index e991ebd9..cd6a3330 100644 --- a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_014.cpp +++ b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_014.cpp @@ -441,7 +441,9 @@ NTSTATUS IVROverlay_IVROverlay_014_SetOverlayFromFile( void *args ) { struct IVROverlay_IVROverlay_014_SetOverlayFromFile_params *params = (struct IVROverlay_IVROverlay_014_SetOverlayFromFile_params *)args; struct u_IVROverlay_IVROverlay_014 *iface = (struct u_IVROverlay_IVROverlay_014 *)params->linux_side; - params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, params->pchFilePath ); + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_016.cpp b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_016.cpp index bbb7ea30..c646f822 100644 --- a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_016.cpp +++ b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_016.cpp @@ -481,7 +481,9 @@ NTSTATUS IVROverlay_IVROverlay_016_SetOverlayFromFile( void *args ) { struct IVROverlay_IVROverlay_016_SetOverlayFromFile_params *params = (struct IVROverlay_IVROverlay_016_SetOverlayFromFile_params *)args; struct u_IVROverlay_IVROverlay_016 *iface = (struct u_IVROverlay_IVROverlay_016 *)params->linux_side; - params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, params->pchFilePath ); + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_017.cpp b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_017.cpp index 711b2943..7aa8ded8 100644 --- a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_017.cpp +++ b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_017.cpp @@ -497,7 +497,9 @@ NTSTATUS IVROverlay_IVROverlay_017_SetOverlayFromFile( void *args ) { struct IVROverlay_IVROverlay_017_SetOverlayFromFile_params *params = (struct IVROverlay_IVROverlay_017_SetOverlayFromFile_params *)args; struct u_IVROverlay_IVROverlay_017 *iface = (struct u_IVROverlay_IVROverlay_017 *)params->linux_side; - params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, params->pchFilePath ); + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_018.cpp b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_018.cpp index 806bf310..3f89baef 100644 --- a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_018.cpp +++ b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_018.cpp @@ -489,7 +489,9 @@ NTSTATUS IVROverlay_IVROverlay_018_SetOverlayFromFile( void *args ) { struct IVROverlay_IVROverlay_018_SetOverlayFromFile_params *params = (struct IVROverlay_IVROverlay_018_SetOverlayFromFile_params *)args; struct u_IVROverlay_IVROverlay_018 *iface = (struct u_IVROverlay_IVROverlay_018 *)params->linux_side; - params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, params->pchFilePath ); + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_019.cpp b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_019.cpp index 3ed25caf..348d264f 100644 --- a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_019.cpp +++ b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_019.cpp @@ -489,7 +489,9 @@ NTSTATUS IVROverlay_IVROverlay_019_SetOverlayFromFile( void *args ) { struct IVROverlay_IVROverlay_019_SetOverlayFromFile_params *params = (struct IVROverlay_IVROverlay_019_SetOverlayFromFile_params *)args; struct u_IVROverlay_IVROverlay_019 *iface = (struct u_IVROverlay_IVROverlay_019 *)params->linux_side; - params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, params->pchFilePath ); + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_020.cpp b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_020.cpp index 3c23fb48..13e45d4a 100644 --- a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_020.cpp +++ b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_020.cpp @@ -473,7 +473,9 @@ NTSTATUS IVROverlay_IVROverlay_020_SetOverlayFromFile( void *args ) { struct IVROverlay_IVROverlay_020_SetOverlayFromFile_params *params = (struct IVROverlay_IVROverlay_020_SetOverlayFromFile_params *)args; struct u_IVROverlay_IVROverlay_020 *iface = (struct u_IVROverlay_IVROverlay_020 *)params->linux_side; - params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, params->pchFilePath ); + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_021.cpp b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_021.cpp index f12fe975..f0b0d49a 100644 --- a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_021.cpp +++ b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_021.cpp @@ -441,7 +441,9 @@ NTSTATUS IVROverlay_IVROverlay_021_SetOverlayFromFile( void *args ) { struct IVROverlay_IVROverlay_021_SetOverlayFromFile_params *params = (struct IVROverlay_IVROverlay_021_SetOverlayFromFile_params *)args; struct u_IVROverlay_IVROverlay_021 *iface = (struct u_IVROverlay_IVROverlay_021 *)params->linux_side; - params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, params->pchFilePath ); + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_022.cpp b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_022.cpp index a2eb59fd..c9906c43 100644 --- a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_022.cpp +++ b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_022.cpp @@ -505,7 +505,9 @@ NTSTATUS IVROverlay_IVROverlay_022_SetOverlayFromFile( void *args ) { struct IVROverlay_IVROverlay_022_SetOverlayFromFile_params *params = (struct IVROverlay_IVROverlay_022_SetOverlayFromFile_params *)args; struct u_IVROverlay_IVROverlay_022 *iface = (struct u_IVROverlay_IVROverlay_022 *)params->linux_side; - params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, params->pchFilePath ); + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_024.cpp b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_024.cpp index 1e1ac418..0bf8a036 100644 --- a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_024.cpp +++ b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_024.cpp @@ -473,7 +473,9 @@ NTSTATUS IVROverlay_IVROverlay_024_SetOverlayFromFile( void *args ) { struct IVROverlay_IVROverlay_024_SetOverlayFromFile_params *params = (struct IVROverlay_IVROverlay_024_SetOverlayFromFile_params *)args; struct u_IVROverlay_IVROverlay_024 *iface = (struct u_IVROverlay_IVROverlay_024 *)params->linux_side; - params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, params->pchFilePath ); + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_025.cpp b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_025.cpp index 340be82e..376fc0ee 100644 --- a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_025.cpp +++ b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_025.cpp @@ -481,7 +481,9 @@ NTSTATUS IVROverlay_IVROverlay_025_SetOverlayFromFile( void *args ) { struct IVROverlay_IVROverlay_025_SetOverlayFromFile_params *params = (struct IVROverlay_IVROverlay_025_SetOverlayFromFile_params *)args; struct u_IVROverlay_IVROverlay_025 *iface = (struct u_IVROverlay_IVROverlay_025 *)params->linux_side; - params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, params->pchFilePath ); + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_026.cpp b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_026.cpp index 073f888d..315b9bd4 100644 --- a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_026.cpp +++ b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_026.cpp @@ -505,7 +505,9 @@ NTSTATUS IVROverlay_IVROverlay_026_SetOverlayFromFile( void *args ) { struct IVROverlay_IVROverlay_026_SetOverlayFromFile_params *params = (struct IVROverlay_IVROverlay_026_SetOverlayFromFile_params *)args; struct u_IVROverlay_IVROverlay_026 *iface = (struct u_IVROverlay_IVROverlay_026 *)params->linux_side; - params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, params->pchFilePath ); + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_027.cpp b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_027.cpp index 78f96053..cee8541d 100644 --- a/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_027.cpp +++ b/vrclient_x64/vrclient_x64/cppIVROverlay_IVROverlay_027.cpp @@ -489,7 +489,9 @@ NTSTATUS IVROverlay_IVROverlay_027_SetOverlayFromFile( void *args ) { struct IVROverlay_IVROverlay_027_SetOverlayFromFile_params *params = (struct IVROverlay_IVROverlay_027_SetOverlayFromFile_params *)args; struct u_IVROverlay_IVROverlay_027 *iface = (struct u_IVROverlay_IVROverlay_027 *)params->linux_side; - params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, params->pchFilePath ); + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = (uint32_t)iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); return 0; } diff --git a/vrclient_x64/vrclient_x64/cppIVRScreenshots_IVRScreenshots_001.cpp b/vrclient_x64/vrclient_x64/cppIVRScreenshots_IVRScreenshots_001.cpp index bb201e94..b00b8929 100644 --- a/vrclient_x64/vrclient_x64/cppIVRScreenshots_IVRScreenshots_001.cpp +++ b/vrclient_x64/vrclient_x64/cppIVRScreenshots_IVRScreenshots_001.cpp @@ -5,7 +5,11 @@ NTSTATUS IVRScreenshots_IVRScreenshots_001_RequestScreenshot( void *args ) { struct IVRScreenshots_IVRScreenshots_001_RequestScreenshot_params *params = (struct IVRScreenshots_IVRScreenshots_001_RequestScreenshot_params *)args; struct u_IVRScreenshots_IVRScreenshots_001 *iface = (struct u_IVRScreenshots_IVRScreenshots_001 *)params->linux_side; - params->_ret = (uint32_t)iface->RequestScreenshot( params->pOutScreenshotHandle, params->type, params->pchPreviewFilename, params->pchVRFilename ); + char *u_pchPreviewFilename = vrclient_dos_to_unix_path( params->pchPreviewFilename ); + char *u_pchVRFilename = vrclient_dos_to_unix_path( params->pchVRFilename ); + params->_ret = (uint32_t)iface->RequestScreenshot( params->pOutScreenshotHandle, params->type, u_pchPreviewFilename, u_pchVRFilename ); + vrclient_free_path( u_pchPreviewFilename ); + vrclient_free_path( u_pchVRFilename ); return 0; } @@ -45,7 +49,11 @@ NTSTATUS IVRScreenshots_IVRScreenshots_001_TakeStereoScreenshot( void *args ) { struct IVRScreenshots_IVRScreenshots_001_TakeStereoScreenshot_params *params = (struct IVRScreenshots_IVRScreenshots_001_TakeStereoScreenshot_params *)args; struct u_IVRScreenshots_IVRScreenshots_001 *iface = (struct u_IVRScreenshots_IVRScreenshots_001 *)params->linux_side; - params->_ret = (uint32_t)iface->TakeStereoScreenshot( params->pOutScreenshotHandle, params->pchPreviewFilename, params->pchVRFilename ); + char *u_pchPreviewFilename = vrclient_dos_to_unix_path( params->pchPreviewFilename ); + char *u_pchVRFilename = vrclient_dos_to_unix_path( params->pchVRFilename ); + params->_ret = (uint32_t)iface->TakeStereoScreenshot( params->pOutScreenshotHandle, u_pchPreviewFilename, u_pchVRFilename ); + vrclient_free_path( u_pchPreviewFilename ); + vrclient_free_path( u_pchVRFilename ); return 0; } @@ -53,7 +61,11 @@ NTSTATUS IVRScreenshots_IVRScreenshots_001_SubmitScreenshot( void *args ) { struct IVRScreenshots_IVRScreenshots_001_SubmitScreenshot_params *params = (struct IVRScreenshots_IVRScreenshots_001_SubmitScreenshot_params *)args; struct u_IVRScreenshots_IVRScreenshots_001 *iface = (struct u_IVRScreenshots_IVRScreenshots_001 *)params->linux_side; - params->_ret = (uint32_t)iface->SubmitScreenshot( params->screenshotHandle, params->type, params->pchSourcePreviewFilename, params->pchSourceVRFilename ); + char *u_pchSourcePreviewFilename = vrclient_dos_to_unix_path( params->pchSourcePreviewFilename ); + char *u_pchSourceVRFilename = vrclient_dos_to_unix_path( params->pchSourceVRFilename ); + params->_ret = (uint32_t)iface->SubmitScreenshot( params->screenshotHandle, params->type, u_pchSourcePreviewFilename, u_pchSourceVRFilename ); + vrclient_free_path( u_pchSourcePreviewFilename ); + vrclient_free_path( u_pchSourceVRFilename ); return 0; } diff --git a/vrclient_x64/vrclient_x64/json_converter.cpp b/vrclient_x64/vrclient_x64/json_converter.cpp index fac49d29..0d75aa3b 100644 --- a/vrclient_x64/vrclient_x64/json_converter.cpp +++ b/vrclient_x64/vrclient_x64/json_converter.cpp @@ -10,10 +10,76 @@ WINE_DEFAULT_DEBUG_CHANNEL(vrclient); -#include "vrclient_private.h" +#include "unix_private.h" +#include #include "json/json.h" +#define IS_ABSOLUTE( x ) (*x == '/' || *x == '\\' || (*x && *(x + 1) == ':')) + +char *vrclient_dos_to_unix_path( const char *src ) +{ + char buffer[4096], *dst = buffer; + uint32_t len; + + if (!src) return NULL; + + *dst = 0; + if (!*src) goto done; + + if (IS_ABSOLUTE( src )) + { + /* absolute path, use wine conversion */ + WCHAR srcW[PATH_MAX] = {0}; + char *unix_path; + uint32_t r; + + r = MultiByteToWideChar( CP_UNIXCP, 0, src, -1, srcW, PATH_MAX ); + if (r == 0) return NULL; + + unix_path = wine_get_unix_file_name( srcW ); + if (!unix_path) + { + WARN( "Unable to convert DOS filename to unix: %s\n", src ); + return NULL; + } + + if (!realpath( unix_path, dst )) + { + ERR( "Could not get real path for %s.\n", unix_path ); + lstrcpynA( dst, unix_path, PATH_MAX ); + } + + HeapFree( GetProcessHeap(), 0, unix_path ); + } + else + { + /* relative path, just fix up backslashes */ + const char *s; + char *d; + + for (s = src, d = dst; *src; ++s, ++d) + { + if (*s == '\\') *d = '/'; + else *d = *s; + } + + *d = 0; + } + +done: + len = strlen( buffer ) + 1; + if (!(dst = (char *)HeapAlloc( GetProcessHeap(), 0, len ))) return NULL; + memcpy( dst, buffer, len ); + + return dst; +} + +void vrclient_free_path( char *path ) +{ + HeapFree( GetProcessHeap(), 0, path ); +} + extern "C" { static bool ends_with(const std::string &s, char c) diff --git a/vrclient_x64/vrclient_x64/unix_private.h b/vrclient_x64/vrclient_x64/unix_private.h index d3f308b9..628274ba 100644 --- a/vrclient_x64/vrclient_x64/unix_private.h +++ b/vrclient_x64/vrclient_x64/unix_private.h @@ -29,6 +29,9 @@ extern NTSTATUS vrclient_init( void *args ); extern NTSTATUS vrclient_HmdSystemFactory( void *args ); extern NTSTATUS vrclient_VRClientCoreFactory( void *args ); +extern char *vrclient_dos_to_unix_path( const char *src ); +extern void vrclient_free_path( char *path ); + #ifdef __cplusplus } /* extern "C" */ #endif /* __cplusplus */ diff --git a/vrclient_x64/vrclient_x64/vrclient_main.c b/vrclient_x64/vrclient_x64/vrclient_main.c index dea43357..06879f93 100644 --- a/vrclient_x64/vrclient_x64/vrclient_main.c +++ b/vrclient_x64/vrclient_x64/vrclient_main.c @@ -87,68 +87,6 @@ unsigned int vrclient_unix_path_to_dos_path(bool api_result, const char *src, ch return r == 0 ? 0 : r - 1; } -#define IS_ABSOLUTE(x) (*x == '/' || *x == '\\' || (*x && *(x + 1) == ':')) - -char *vrclient_dos_to_unix_path( const char *src ) -{ - char buffer[4096], *dst = buffer; - uint32_t len; - - if (!src) return NULL; - - *dst = 0; - if (!*src) goto done; - - if(IS_ABSOLUTE(src)){ - /* absolute path, use wine conversion */ - WCHAR srcW[PATH_MAX]; - char *unix_path; - uint32_t r; - - r = MultiByteToWideChar(CP_UNIXCP, 0, src, -1, srcW, PATH_MAX); - if(r == 0) - return NULL; - - unix_path = wine_get_unix_file_name(srcW); - if(!unix_path){ - WARN("Unable to convert DOS filename to unix: %s\n", src); - return NULL; - } - - if (!realpath(unix_path, dst)) - { - ERR("Could not get real path for %s.\n", unix_path); - lstrcpynA(dst, unix_path, PATH_MAX); - } - - HeapFree(GetProcessHeap(), 0, unix_path); - }else{ - /* relative path, just fix up backslashes */ - const char *s; - char *d; - - for(s = src, d = dst; *src; ++s, ++d){ - if(*s == '\\') - *d = '/'; - else - *d = *s; - } - - *d = 0; - } - -done: - len = strlen( buffer ); - if (!(dst = HeapAlloc( GetProcessHeap(), 0, len + 1 ))) return NULL; - memcpy( dst, buffer, len + 1 ); - return dst; -} - -void vrclient_free_path( const char *path ) -{ - HeapFree( GetProcessHeap(), 0, (char *)path ); -} - static BOOL array_reserve(void **elements, SIZE_T *capacity, SIZE_T count, SIZE_T size) { SIZE_T max_capacity, new_capacity; diff --git a/vrclient_x64/vrclient_x64/vrclient_private.h b/vrclient_x64/vrclient_x64/vrclient_private.h index 077c5d8b..e3ac5776 100644 --- a/vrclient_x64/vrclient_x64/vrclient_private.h +++ b/vrclient_x64/vrclient_x64/vrclient_private.h @@ -12,17 +12,6 @@ typedef void (*vtable_ptr)(void); #endif -#if __cplusplus -extern "C" { -#endif - -char *vrclient_dos_to_unix_path( const char *src ); -void vrclient_free_path( const char *path ); - -#if __cplusplus -} -#endif - unsigned int vrclient_unix_path_to_dos_path(bool api_result, const char *src, char *dst, uint32_t dst_bytes); void *create_LinuxMatchmakingServerListResponse(void *win); diff --git a/vrclient_x64/vrclient_x64/winIVRApplications.c b/vrclient_x64/vrclient_x64/winIVRApplications.c index 8a3addc9..70b85a5f 100644 --- a/vrclient_x64/vrclient_x64/winIVRApplications.c +++ b/vrclient_x64/vrclient_x64/winIVRApplications.c @@ -38,10 +38,8 @@ uint32_t __thiscall winIVRApplications_IVRApplications_001_AddApplicationManifes .pchApplicationManifestFullPath = pchApplicationManifestFullPath, .bTemporary = bTemporary, }; - params.pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRApplications_IVRApplications_001_AddApplicationManifest, ¶ms ); - vrclient_free_path( params.pchApplicationManifestFullPath ); return params._ret; } @@ -52,10 +50,8 @@ uint32_t __thiscall winIVRApplications_IVRApplications_001_RemoveApplicationMani .linux_side = _this->u_iface, .pchApplicationManifestFullPath = pchApplicationManifestFullPath, }; - params.pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRApplications_IVRApplications_001_RemoveApplicationManifest, ¶ms ); - vrclient_free_path( params.pchApplicationManifestFullPath ); return params._ret; } @@ -417,10 +413,8 @@ uint32_t __thiscall winIVRApplications_IVRApplications_002_AddApplicationManifes .pchApplicationManifestFullPath = pchApplicationManifestFullPath, .bTemporary = bTemporary, }; - params.pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRApplications_IVRApplications_002_AddApplicationManifest, ¶ms ); - vrclient_free_path( params.pchApplicationManifestFullPath ); return params._ret; } @@ -431,10 +425,8 @@ uint32_t __thiscall winIVRApplications_IVRApplications_002_RemoveApplicationMani .linux_side = _this->u_iface, .pchApplicationManifestFullPath = pchApplicationManifestFullPath, }; - params.pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRApplications_IVRApplications_002_RemoveApplicationManifest, ¶ms ); - vrclient_free_path( params.pchApplicationManifestFullPath ); return params._ret; } @@ -781,10 +773,8 @@ uint32_t __thiscall winIVRApplications_IVRApplications_003_AddApplicationManifes .pchApplicationManifestFullPath = pchApplicationManifestFullPath, .bTemporary = bTemporary, }; - params.pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRApplications_IVRApplications_003_AddApplicationManifest, ¶ms ); - vrclient_free_path( params.pchApplicationManifestFullPath ); return params._ret; } @@ -795,10 +785,8 @@ uint32_t __thiscall winIVRApplications_IVRApplications_003_RemoveApplicationMani .linux_side = _this->u_iface, .pchApplicationManifestFullPath = pchApplicationManifestFullPath, }; - params.pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRApplications_IVRApplications_003_RemoveApplicationManifest, ¶ms ); - vrclient_free_path( params.pchApplicationManifestFullPath ); return params._ret; } @@ -1163,10 +1151,8 @@ uint32_t __thiscall winIVRApplications_IVRApplications_004_AddApplicationManifes .pchApplicationManifestFullPath = pchApplicationManifestFullPath, .bTemporary = bTemporary, }; - params.pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRApplications_IVRApplications_004_AddApplicationManifest, ¶ms ); - vrclient_free_path( params.pchApplicationManifestFullPath ); return params._ret; } @@ -1177,10 +1163,8 @@ uint32_t __thiscall winIVRApplications_IVRApplications_004_RemoveApplicationMani .linux_side = _this->u_iface, .pchApplicationManifestFullPath = pchApplicationManifestFullPath, }; - params.pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRApplications_IVRApplications_004_RemoveApplicationManifest, ¶ms ); - vrclient_free_path( params.pchApplicationManifestFullPath ); return params._ret; } @@ -1576,10 +1560,8 @@ uint32_t __thiscall winIVRApplications_IVRApplications_005_AddApplicationManifes .pchApplicationManifestFullPath = pchApplicationManifestFullPath, .bTemporary = bTemporary, }; - params.pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRApplications_IVRApplications_005_AddApplicationManifest, ¶ms ); - vrclient_free_path( params.pchApplicationManifestFullPath ); return params._ret; } @@ -1590,10 +1572,8 @@ uint32_t __thiscall winIVRApplications_IVRApplications_005_RemoveApplicationMani .linux_side = _this->u_iface, .pchApplicationManifestFullPath = pchApplicationManifestFullPath, }; - params.pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRApplications_IVRApplications_005_RemoveApplicationManifest, ¶ms ); - vrclient_free_path( params.pchApplicationManifestFullPath ); return params._ret; } @@ -2013,10 +1993,8 @@ uint32_t __thiscall winIVRApplications_IVRApplications_006_AddApplicationManifes .pchApplicationManifestFullPath = pchApplicationManifestFullPath, .bTemporary = bTemporary, }; - params.pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRApplications_IVRApplications_006_AddApplicationManifest, ¶ms ); - vrclient_free_path( params.pchApplicationManifestFullPath ); return params._ret; } @@ -2027,10 +2005,8 @@ uint32_t __thiscall winIVRApplications_IVRApplications_006_RemoveApplicationMani .linux_side = _this->u_iface, .pchApplicationManifestFullPath = pchApplicationManifestFullPath, }; - params.pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRApplications_IVRApplications_006_RemoveApplicationManifest, ¶ms ); - vrclient_free_path( params.pchApplicationManifestFullPath ); return params._ret; } @@ -2556,10 +2532,8 @@ uint32_t __thiscall winIVRApplications_IVRApplications_007_AddApplicationManifes .pchApplicationManifestFullPath = pchApplicationManifestFullPath, .bTemporary = bTemporary, }; - params.pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRApplications_IVRApplications_007_AddApplicationManifest, ¶ms ); - vrclient_free_path( params.pchApplicationManifestFullPath ); return params._ret; } @@ -2570,10 +2544,8 @@ uint32_t __thiscall winIVRApplications_IVRApplications_007_RemoveApplicationMani .linux_side = _this->u_iface, .pchApplicationManifestFullPath = pchApplicationManifestFullPath, }; - params.pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRApplications_IVRApplications_007_RemoveApplicationManifest, ¶ms ); - vrclient_free_path( params.pchApplicationManifestFullPath ); return params._ret; } diff --git a/vrclient_x64/vrclient_x64/winIVRCompositor.c b/vrclient_x64/vrclient_x64/winIVRCompositor.c index 2a020b20..6801f186 100644 --- a/vrclient_x64/vrclient_x64/winIVRCompositor.c +++ b/vrclient_x64/vrclient_x64/winIVRCompositor.c @@ -183,10 +183,8 @@ void __thiscall winIVRCompositor_IVRCompositor_005_SetOverlayFromFile(struct w_s .pchFilePath = pchFilePath, .pSettings = pSettings, }; - params.pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRCompositor_IVRCompositor_005_SetOverlayFromFile, ¶ms ); - vrclient_free_path( params.pchFilePath ); } void __thiscall winIVRCompositor_IVRCompositor_005_ClearOverlay(struct w_steam_iface *_this) @@ -9107,10 +9105,8 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_024_SetStageOverride_Async(st .pRenderSettings = pRenderSettings, .nSizeOfRenderSettings = nSizeOfRenderSettings, }; - params.pchRenderModelPath = vrclient_dos_to_unix_path( pchRenderModelPath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRCompositor_IVRCompositor_024_SetStageOverride_Async, ¶ms ); - vrclient_free_path( params.pchRenderModelPath ); return params._ret; } @@ -9823,10 +9819,8 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_026_SetStageOverride_Async(st .pRenderSettings = pRenderSettings, .nSizeOfRenderSettings = nSizeOfRenderSettings, }; - params.pchRenderModelPath = vrclient_dos_to_unix_path( pchRenderModelPath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRCompositor_IVRCompositor_026_SetStageOverride_Async, ¶ms ); - vrclient_free_path( params.pchRenderModelPath ); return params._ret; } @@ -10598,10 +10592,8 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_027_SetStageOverride_Async(st .pRenderSettings = pRenderSettings, .nSizeOfRenderSettings = nSizeOfRenderSettings, }; - params.pchRenderModelPath = vrclient_dos_to_unix_path( pchRenderModelPath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRCompositor_IVRCompositor_027_SetStageOverride_Async, ¶ms ); - vrclient_free_path( params.pchRenderModelPath ); return params._ret; } diff --git a/vrclient_x64/vrclient_x64/winIVRControlPanel.c b/vrclient_x64/vrclient_x64/winIVRControlPanel.c index 7ce2c811..a0b96aee 100644 --- a/vrclient_x64/vrclient_x64/winIVRControlPanel.c +++ b/vrclient_x64/vrclient_x64/winIVRControlPanel.c @@ -306,10 +306,8 @@ bool __thiscall winIVRControlPanel_IVRControlPanel_006_undoc23(struct w_steam_if .linux_side = _this->u_iface, .a = a, }; - params.a = vrclient_dos_to_unix_path( a ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRControlPanel_IVRControlPanel_006_undoc23, ¶ms ); - vrclient_free_path( params.a ); return params._ret; } @@ -354,10 +352,8 @@ uint32_t __thiscall winIVRControlPanel_IVRControlPanel_006_undoc27(struct w_stea .linux_side = _this->u_iface, .a = a, }; - params.a = vrclient_dos_to_unix_path( a ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRControlPanel_IVRControlPanel_006_undoc27, ¶ms ); - vrclient_free_path( params.a ); return params._ret; } diff --git a/vrclient_x64/vrclient_x64/winIVRInput.c b/vrclient_x64/vrclient_x64/winIVRInput.c index b9715c5a..49a233c0 100644 --- a/vrclient_x64/vrclient_x64/winIVRInput.c +++ b/vrclient_x64/vrclient_x64/winIVRInput.c @@ -33,10 +33,8 @@ uint32_t __thiscall winIVRInput_IVRInput_003_SetActionManifestPath(struct w_stea .linux_side = _this->u_iface, .pchActionManifestPath = pchActionManifestPath, }; - params.pchActionManifestPath = vrclient_dos_to_unix_path( pchActionManifestPath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRInput_IVRInput_003_SetActionManifestPath, ¶ms ); - vrclient_free_path( params.pchActionManifestPath ); return params._ret; } @@ -382,10 +380,8 @@ uint32_t __thiscall winIVRInput_IVRInput_004_SetActionManifestPath(struct w_stea .linux_side = _this->u_iface, .pchActionManifestPath = pchActionManifestPath, }; - params.pchActionManifestPath = vrclient_dos_to_unix_path( pchActionManifestPath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRInput_IVRInput_004_SetActionManifestPath, ¶ms ); - vrclient_free_path( params.pchActionManifestPath ); return params._ret; } @@ -746,10 +742,8 @@ uint32_t __thiscall winIVRInput_IVRInput_005_SetActionManifestPath(struct w_stea .linux_side = _this->u_iface, .pchActionManifestPath = pchActionManifestPath, }; - params.pchActionManifestPath = vrclient_dos_to_unix_path( pchActionManifestPath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRInput_IVRInput_005_SetActionManifestPath, ¶ms ); - vrclient_free_path( params.pchActionManifestPath ); return params._ret; } @@ -1217,10 +1211,8 @@ uint32_t __thiscall winIVRInput_IVRInput_006_SetActionManifestPath(struct w_stea .linux_side = _this->u_iface, .pchActionManifestPath = pchActionManifestPath, }; - params.pchActionManifestPath = vrclient_dos_to_unix_path( pchActionManifestPath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRInput_IVRInput_006_SetActionManifestPath, ¶ms ); - vrclient_free_path( params.pchActionManifestPath ); return params._ret; } @@ -1709,10 +1701,8 @@ uint32_t __thiscall winIVRInput_IVRInput_007_SetActionManifestPath(struct w_stea .linux_side = _this->u_iface, .pchActionManifestPath = pchActionManifestPath, }; - params.pchActionManifestPath = vrclient_dos_to_unix_path( pchActionManifestPath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRInput_IVRInput_007_SetActionManifestPath, ¶ms ); - vrclient_free_path( params.pchActionManifestPath ); return params._ret; } @@ -2240,10 +2230,8 @@ uint32_t __thiscall winIVRInput_IVRInput_010_SetActionManifestPath(struct w_stea .linux_side = _this->u_iface, .pchActionManifestPath = pchActionManifestPath, }; - params.pchActionManifestPath = vrclient_dos_to_unix_path( pchActionManifestPath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRInput_IVRInput_010_SetActionManifestPath, ¶ms ); - vrclient_free_path( params.pchActionManifestPath ); return params._ret; } diff --git a/vrclient_x64/vrclient_x64/winIVROverlay.c b/vrclient_x64/vrclient_x64/winIVROverlay.c index 459ddc1b..782fada8 100644 --- a/vrclient_x64/vrclient_x64/winIVROverlay.c +++ b/vrclient_x64/vrclient_x64/winIVROverlay.c @@ -504,10 +504,8 @@ uint32_t __thiscall winIVROverlay_IVROverlay_001_SetOverlayFromFile(struct w_ste .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; - params.pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_001_SetOverlayFromFile, ¶ms ); - vrclient_free_path( params.pchFilePath ); return params._ret; } @@ -1201,10 +1199,8 @@ uint32_t __thiscall winIVROverlay_IVROverlay_002_SetOverlayFromFile(struct w_ste .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; - params.pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_002_SetOverlayFromFile, ¶ms ); - vrclient_free_path( params.pchFilePath ); return params._ret; } @@ -1967,10 +1963,8 @@ uint32_t __thiscall winIVROverlay_IVROverlay_003_SetOverlayFromFile(struct w_ste .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; - params.pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_003_SetOverlayFromFile, ¶ms ); - vrclient_free_path( params.pchFilePath ); return params._ret; } @@ -2782,10 +2776,8 @@ uint32_t __thiscall winIVROverlay_IVROverlay_004_SetOverlayFromFile(struct w_ste .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; - params.pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_004_SetOverlayFromFile, ¶ms ); - vrclient_free_path( params.pchFilePath ); return params._ret; } @@ -3617,10 +3609,8 @@ uint32_t __thiscall winIVROverlay_IVROverlay_005_SetOverlayFromFile(struct w_ste .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; - params.pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_005_SetOverlayFromFile, ¶ms ); - vrclient_free_path( params.pchFilePath ); return params._ret; } @@ -4555,10 +4545,8 @@ uint32_t __thiscall winIVROverlay_IVROverlay_007_SetOverlayFromFile(struct w_ste .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; - params.pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_007_SetOverlayFromFile, ¶ms ); - vrclient_free_path( params.pchFilePath ); return params._ret; } @@ -5541,10 +5529,8 @@ uint32_t __thiscall winIVROverlay_IVROverlay_008_SetOverlayFromFile(struct w_ste .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; - params.pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_008_SetOverlayFromFile, ¶ms ); - vrclient_free_path( params.pchFilePath ); return params._ret; } @@ -6590,10 +6576,8 @@ uint32_t __thiscall winIVROverlay_IVROverlay_010_SetOverlayFromFile(struct w_ste .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; - params.pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_010_SetOverlayFromFile, ¶ms ); - vrclient_free_path( params.pchFilePath ); return params._ret; } @@ -7685,10 +7669,8 @@ uint32_t __thiscall winIVROverlay_IVROverlay_011_SetOverlayFromFile(struct w_ste .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; - params.pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_011_SetOverlayFromFile, ¶ms ); - vrclient_free_path( params.pchFilePath ); return params._ret; } @@ -8821,10 +8803,8 @@ uint32_t __thiscall winIVROverlay_IVROverlay_012_SetOverlayFromFile(struct w_ste .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; - params.pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_012_SetOverlayFromFile, ¶ms ); - vrclient_free_path( params.pchFilePath ); return params._ret; } @@ -10030,10 +10010,8 @@ uint32_t __thiscall winIVROverlay_IVROverlay_013_SetOverlayFromFile(struct w_ste .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; - params.pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_013_SetOverlayFromFile, ¶ms ); - vrclient_free_path( params.pchFilePath ); return params._ret; } @@ -11266,10 +11244,8 @@ uint32_t __thiscall winIVROverlay_IVROverlay_014_SetOverlayFromFile(struct w_ste .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; - params.pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_014_SetOverlayFromFile, ¶ms ); - vrclient_free_path( params.pchFilePath ); return params._ret; } @@ -12614,10 +12590,8 @@ uint32_t __thiscall winIVROverlay_IVROverlay_016_SetOverlayFromFile(struct w_ste .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; - params.pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_016_SetOverlayFromFile, ¶ms ); - vrclient_free_path( params.pchFilePath ); return params._ret; } @@ -14016,10 +13990,8 @@ uint32_t __thiscall winIVROverlay_IVROverlay_017_SetOverlayFromFile(struct w_ste .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; - params.pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_017_SetOverlayFromFile, ¶ms ); - vrclient_free_path( params.pchFilePath ); return params._ret; } @@ -15408,10 +15380,8 @@ uint32_t __thiscall winIVROverlay_IVROverlay_018_SetOverlayFromFile(struct w_ste .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; - params.pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_018_SetOverlayFromFile, ¶ms ); - vrclient_free_path( params.pchFilePath ); return params._ret; } @@ -16798,10 +16768,8 @@ uint32_t __thiscall winIVROverlay_IVROverlay_019_SetOverlayFromFile(struct w_ste .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; - params.pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_019_SetOverlayFromFile, ¶ms ); - vrclient_free_path( params.pchFilePath ); return params._ret; } @@ -18163,10 +18131,8 @@ uint32_t __thiscall winIVROverlay_IVROverlay_020_SetOverlayFromFile(struct w_ste .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; - params.pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_020_SetOverlayFromFile, ¶ms ); - vrclient_free_path( params.pchFilePath ); return params._ret; } @@ -19468,10 +19434,8 @@ uint32_t __thiscall winIVROverlay_IVROverlay_021_SetOverlayFromFile(struct w_ste .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; - params.pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_021_SetOverlayFromFile, ¶ms ); - vrclient_free_path( params.pchFilePath ); return params._ret; } @@ -20878,10 +20842,8 @@ uint32_t __thiscall winIVROverlay_IVROverlay_022_SetOverlayFromFile(struct w_ste .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; - params.pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_022_SetOverlayFromFile, ¶ms ); - vrclient_free_path( params.pchFilePath ); return params._ret; } @@ -22208,10 +22170,8 @@ uint32_t __thiscall winIVROverlay_IVROverlay_024_SetOverlayFromFile(struct w_ste .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; - params.pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_024_SetOverlayFromFile, ¶ms ); - vrclient_free_path( params.pchFilePath ); return params._ret; } @@ -23547,10 +23507,8 @@ uint32_t __thiscall winIVROverlay_IVROverlay_025_SetOverlayFromFile(struct w_ste .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; - params.pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_025_SetOverlayFromFile, ¶ms ); - vrclient_free_path( params.pchFilePath ); return params._ret; } @@ -24929,10 +24887,8 @@ uint32_t __thiscall winIVROverlay_IVROverlay_026_SetOverlayFromFile(struct w_ste .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; - params.pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_026_SetOverlayFromFile, ¶ms ); - vrclient_free_path( params.pchFilePath ); return params._ret; } @@ -26287,10 +26243,8 @@ uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayFromFile(struct w_ste .ulOverlayHandle = ulOverlayHandle, .pchFilePath = pchFilePath, }; - params.pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); VRCLIENT_CALL( IVROverlay_IVROverlay_027_SetOverlayFromFile, ¶ms ); - vrclient_free_path( params.pchFilePath ); return params._ret; } diff --git a/vrclient_x64/vrclient_x64/winIVRScreenshots.c b/vrclient_x64/vrclient_x64/winIVRScreenshots.c index f2b2a5cd..3a22c3b3 100644 --- a/vrclient_x64/vrclient_x64/winIVRScreenshots.c +++ b/vrclient_x64/vrclient_x64/winIVRScreenshots.c @@ -26,12 +26,8 @@ uint32_t __thiscall winIVRScreenshots_IVRScreenshots_001_RequestScreenshot(struc .pchPreviewFilename = pchPreviewFilename, .pchVRFilename = pchVRFilename, }; - params.pchPreviewFilename = vrclient_dos_to_unix_path( pchPreviewFilename ); - params.pchVRFilename = vrclient_dos_to_unix_path( pchVRFilename ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRScreenshots_IVRScreenshots_001_RequestScreenshot, ¶ms ); - vrclient_free_path( params.pchPreviewFilename ); - vrclient_free_path( params.pchVRFilename ); return params._ret; } @@ -100,12 +96,8 @@ uint32_t __thiscall winIVRScreenshots_IVRScreenshots_001_TakeStereoScreenshot(st .pchPreviewFilename = pchPreviewFilename, .pchVRFilename = pchVRFilename, }; - params.pchPreviewFilename = vrclient_dos_to_unix_path( pchPreviewFilename ); - params.pchVRFilename = vrclient_dos_to_unix_path( pchVRFilename ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRScreenshots_IVRScreenshots_001_TakeStereoScreenshot, ¶ms ); - vrclient_free_path( params.pchPreviewFilename ); - vrclient_free_path( params.pchVRFilename ); return params._ret; } @@ -119,12 +111,8 @@ uint32_t __thiscall winIVRScreenshots_IVRScreenshots_001_SubmitScreenshot(struct .pchSourcePreviewFilename = pchSourcePreviewFilename, .pchSourceVRFilename = pchSourceVRFilename, }; - params.pchSourcePreviewFilename = vrclient_dos_to_unix_path( pchSourcePreviewFilename ); - params.pchSourceVRFilename = vrclient_dos_to_unix_path( pchSourceVRFilename ); TRACE("%p\n", _this); VRCLIENT_CALL( IVRScreenshots_IVRScreenshots_001_SubmitScreenshot, ¶ms ); - vrclient_free_path( params.pchSourcePreviewFilename ); - vrclient_free_path( params.pchSourceVRFilename ); return params._ret; }