vrclient: Move dos to unix path conversion to the unix side.

CW-Bug-Id: #22729
This commit is contained in:
Rémi Bernon 2023-10-02 23:13:55 +02:00 committed by Arkadiusz Hiler
parent 049342a555
commit 43481a24ff
53 changed files with 240 additions and 243 deletions

View file

@ -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')

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -10,10 +10,76 @@
WINE_DEFAULT_DEBUG_CHANNEL(vrclient);
#include "vrclient_private.h"
#include "unix_private.h"
#include <linux/limits.h>
#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)

View file

@ -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 */

View file

@ -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;

View file

@ -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);

View file

@ -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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
vrclient_free_path( params.pchApplicationManifestFullPath );
return params._ret;
}

View file

@ -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, &params );
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, &params );
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, &params );
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, &params );
vrclient_free_path( params.pchRenderModelPath );
return params._ret;
}

View file

@ -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, &params );
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, &params );
vrclient_free_path( params.a );
return params._ret;
}

View file

@ -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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
vrclient_free_path( params.pchActionManifestPath );
return params._ret;
}

View file

@ -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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
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, &params );
vrclient_free_path( params.pchFilePath );
return params._ret;
}

View file

@ -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, &params );
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, &params );
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, &params );
vrclient_free_path( params.pchSourcePreviewFilename );
vrclient_free_path( params.pchSourceVRFilename );
return params._ret;
}