vrclient: Fix x64 thunks for C API.

* Clean up the stack properly.
* Do not push parameters after shadow register space.
This commit is contained in:
Józef Kucia 2018-07-26 17:02:25 +02:00 committed by Andrew Eikum
parent 5c4e0ab079
commit 23ffdc5ec8
20 changed files with 2438 additions and 2382 deletions

View File

@ -1,6 +1,5 @@
/* asm thunks for the flat (FnTable) API */ /* asm thunks for the flat (FnTable) API */
extern void call_flat_method(void);
#ifdef __i386__ #ifdef __i386__
#include "pshpack1.h" #include "pshpack1.h"
struct thunk struct thunk
@ -15,7 +14,9 @@ struct thunk
}; };
#include "poppack.h" #include "poppack.h"
static inline void init_thunk( struct thunk *thunk, void *this, void *proc ) extern void call_flat_method(void);
static inline void init_thunk( struct thunk *thunk, void *this, void *proc, int param_count )
{ {
thunk->mov_ecx = 0xb9; thunk->mov_ecx = 0xb9;
thunk->this = this; thunk->this = this;
@ -48,12 +49,27 @@ static const struct thunk thunk_template =
{ 0xff, 0xe0 } /* jmp *%rax */ { 0xff, 0xe0 } /* jmp *%rax */
}; };
static inline void init_thunk( struct thunk *thunk, void *this, void *proc ) typedef void (*pfn_call_flat_method)(void);
extern void call_flat_method3(void);
extern void call_flat_method4(void);
extern void call_flat_method9(void);
static inline pfn_call_flat_method get_call_flat_method_pfn( int param_count )
{
if (param_count <= 3)
return call_flat_method3;
if (param_count <= 4)
return call_flat_method4;
return call_flat_method9;
}
static inline void init_thunk( struct thunk *thunk, void *this, void *proc, int param_count )
{ {
*thunk = thunk_template; *thunk = thunk_template;
thunk->this = this; thunk->this = this;
thunk->proc = proc; thunk->proc = proc;
thunk->call_flat = call_flat_method; thunk->call_flat = get_call_flat_method_pfn(param_count);
} }
#endif #endif

View File

@ -125,6 +125,9 @@ print_sizes = []
class_versions = {} class_versions = {}
def get_param_count(f):
return len([p for p in f.get_children() if p.kind == clang.cindex.CursorKind.PARM_DECL])
def ivrclientcore_init(cppname, method): def ivrclientcore_init(cppname, method):
if "002" in cppname: if "002" in cppname:
return "ivrclientcore_002_init" return "ivrclientcore_002_init"
@ -137,7 +140,7 @@ def ivrclientcore_cleanup(cppname, method):
return "ivrclientcore_cleanup" return "ivrclientcore_cleanup"
def ivrsystem_get_dxgi_output_info(cppname, method): def ivrsystem_get_dxgi_output_info(cppname, method):
param_count = len([p for p in method.get_children() if p.kind == clang.cindex.CursorKind.PARM_DECL]) param_count = get_param_count(method)
return { return {
1: "get_dxgi_output_info", 1: "get_dxgi_output_info",
2: "get_dxgi_output_info2" 2: "get_dxgi_output_info2"
@ -461,9 +464,11 @@ WINE_DEFAULT_DEBUG_CHANNEL(vrclient);
break break
cfile.write("} %s;\n\n" % winclassname) cfile.write("} %s;\n\n" % winclassname)
methods = [] methods = []
methods_param_count = []
for child in children: for child in children:
if child.kind == clang.cindex.CursorKind.CXX_METHOD: if child.kind == clang.cindex.CursorKind.CXX_METHOD:
methods.append(handle_method(cfile, classnode.spelling, winclassname, cppname, child, cpp, cpp_h, methods, iface_version)) methods.append(handle_method(cfile, classnode.spelling, winclassname, cppname, child, cpp, cpp_h, methods, iface_version))
methods_param_count.append(get_param_count(child))
cfile.write("extern vtable_ptr %s_vtable;\n\n" % winclassname) cfile.write("extern vtable_ptr %s_vtable;\n\n" % winclassname)
cfile.write("#ifndef __GNUC__\n") cfile.write("#ifndef __GNUC__\n")
@ -499,7 +504,11 @@ WINE_DEFAULT_DEBUG_CHANNEL(vrclient);
cfile.write(" int i;\n\n") cfile.write(" int i;\n\n")
cfile.write(" TRACE(\"-> %p, vtable %p, thunks %p\\n\", r, vtable, thunks);\n") cfile.write(" TRACE(\"-> %p, vtable %p, thunks %p\\n\", r, vtable, thunks);\n")
for i in range(len(methods)): for i in range(len(methods)):
cfile.write(" init_thunk(&thunks[%d], r, %s_%s);\n" %(i, winclassname, methods[i])) param_count = methods_param_count[i]
if param_count > 9:
# Additional call_flat_method() variants are needed to handle more parameters.
sys.exit("Unhandled parameter count %s for method %s" % (param_count, methods[i]))
cfile.write(" init_thunk(&thunks[%d], r, %s_%s, %s);\n" % (i, winclassname, methods[i], param_count))
cfile.write(" for (i = 0; i < %d; i++)\n" % len(methods)) cfile.write(" for (i = 0; i < %d; i++)\n" % len(methods))
cfile.write(" vtable[i] = &thunks[i];\n") cfile.write(" vtable[i] = &thunks[i];\n")
cfile.write(" r->linux_side = linux_side;\n") cfile.write(" r->linux_side = linux_side;\n")

View File

@ -919,13 +919,44 @@ __ASM_GLOBAL_FUNC(call_flat_method,
"pushl %eax\n\t" "pushl %eax\n\t"
"jmp *%edx"); "jmp *%edx");
#else #else
__ASM_GLOBAL_FUNC(call_flat_method, // handles "this" and up to 3 parameters
"popq %rax\n\t" // return address __ASM_GLOBAL_FUNC(call_flat_method3,
"pushq %r9\n\t"
"pushq %rax\n\t"
"movq %r8, %r9\n\t" // shift over arguments "movq %r8, %r9\n\t" // shift over arguments
"movq %rdx, %r8\n\t" "movq %rdx, %r8\n\t"
"movq %rcx, %rdx\n\t" "movq %rcx, %rdx\n\t"
"movq %r10, %rcx\n\t" // add This pointer "movq %r10, %rcx\n\t" // add This pointer
"jmp *%r11"); "jmp *%r11");
__ASM_GLOBAL_FUNC(call_flat_method4,
"subq $0x28, %rsp\n\t" // shadow register space and 1 parameter
"movq %r9, 0x20(%rsp)\n\t"
"movq %r8, %r9\n\t" // shift over arguments
"movq %rdx, %r8\n\t"
"movq %rcx, %rdx\n\t"
"movq %r10, %rcx\n\t" // add This pointer
"call *%r11\n\t"
"addq $0x28, %rsp\n\t"
"ret");
// handles "this" and up to 9 parameters
__ASM_GLOBAL_FUNC(call_flat_method9,
"subq $0x58, %rsp\n\t" // shadow register space and 6 parameters
"movq %r9, 0x20(%rsp)\n\t"
"movq 0x80(%rsp), %rax\n\t" // copy parameters
"movq %rax, 0x28(%rsp)\n\t"
"movq 0x88(%rsp), %rax\n\t"
"movq %rax, 0x30(%rsp)\n\t"
"movq 0x90(%rsp), %rax\n\t"
"movq %rax, 0x38(%rsp)\n\t"
"movq 0x98(%rsp), %rax\n\t"
"movq %rax, 0x40(%rsp)\n\t"
"movq 0xa0(%rsp), %rax\n\t"
"movq %rax, 0x48(%rsp)\n\t"
"movq %r8, %r9\n\t" // shift over arguments
"movq %rdx, %r8\n\t"
"movq %rcx, %rdx\n\t"
"movq %r10, %rcx\n\t" // add This pointer
"call *%r11\n\t"
"addq $0x58, %rsp\n\t"
"ret");
#endif #endif

View File

@ -307,37 +307,37 @@ winIVRApplications_IVRApplications_006 *create_winIVRApplications_IVRApplication
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRApplications_IVRApplications_006_AddApplicationManifest); init_thunk(&thunks[0], r, winIVRApplications_IVRApplications_006_AddApplicationManifest, 2);
init_thunk(&thunks[1], r, winIVRApplications_IVRApplications_006_RemoveApplicationManifest); init_thunk(&thunks[1], r, winIVRApplications_IVRApplications_006_RemoveApplicationManifest, 1);
init_thunk(&thunks[2], r, winIVRApplications_IVRApplications_006_IsApplicationInstalled); init_thunk(&thunks[2], r, winIVRApplications_IVRApplications_006_IsApplicationInstalled, 1);
init_thunk(&thunks[3], r, winIVRApplications_IVRApplications_006_GetApplicationCount); init_thunk(&thunks[3], r, winIVRApplications_IVRApplications_006_GetApplicationCount, 0);
init_thunk(&thunks[4], r, winIVRApplications_IVRApplications_006_GetApplicationKeyByIndex); init_thunk(&thunks[4], r, winIVRApplications_IVRApplications_006_GetApplicationKeyByIndex, 3);
init_thunk(&thunks[5], r, winIVRApplications_IVRApplications_006_GetApplicationKeyByProcessId); init_thunk(&thunks[5], r, winIVRApplications_IVRApplications_006_GetApplicationKeyByProcessId, 3);
init_thunk(&thunks[6], r, winIVRApplications_IVRApplications_006_LaunchApplication); init_thunk(&thunks[6], r, winIVRApplications_IVRApplications_006_LaunchApplication, 1);
init_thunk(&thunks[7], r, winIVRApplications_IVRApplications_006_LaunchTemplateApplication); init_thunk(&thunks[7], r, winIVRApplications_IVRApplications_006_LaunchTemplateApplication, 4);
init_thunk(&thunks[8], r, winIVRApplications_IVRApplications_006_LaunchApplicationFromMimeType); init_thunk(&thunks[8], r, winIVRApplications_IVRApplications_006_LaunchApplicationFromMimeType, 2);
init_thunk(&thunks[9], r, winIVRApplications_IVRApplications_006_LaunchDashboardOverlay); init_thunk(&thunks[9], r, winIVRApplications_IVRApplications_006_LaunchDashboardOverlay, 1);
init_thunk(&thunks[10], r, winIVRApplications_IVRApplications_006_CancelApplicationLaunch); init_thunk(&thunks[10], r, winIVRApplications_IVRApplications_006_CancelApplicationLaunch, 1);
init_thunk(&thunks[11], r, winIVRApplications_IVRApplications_006_IdentifyApplication); init_thunk(&thunks[11], r, winIVRApplications_IVRApplications_006_IdentifyApplication, 2);
init_thunk(&thunks[12], r, winIVRApplications_IVRApplications_006_GetApplicationProcessId); init_thunk(&thunks[12], r, winIVRApplications_IVRApplications_006_GetApplicationProcessId, 1);
init_thunk(&thunks[13], r, winIVRApplications_IVRApplications_006_GetApplicationsErrorNameFromEnum); init_thunk(&thunks[13], r, winIVRApplications_IVRApplications_006_GetApplicationsErrorNameFromEnum, 1);
init_thunk(&thunks[14], r, winIVRApplications_IVRApplications_006_GetApplicationPropertyString); init_thunk(&thunks[14], r, winIVRApplications_IVRApplications_006_GetApplicationPropertyString, 5);
init_thunk(&thunks[15], r, winIVRApplications_IVRApplications_006_GetApplicationPropertyBool); init_thunk(&thunks[15], r, winIVRApplications_IVRApplications_006_GetApplicationPropertyBool, 3);
init_thunk(&thunks[16], r, winIVRApplications_IVRApplications_006_GetApplicationPropertyUint64); init_thunk(&thunks[16], r, winIVRApplications_IVRApplications_006_GetApplicationPropertyUint64, 3);
init_thunk(&thunks[17], r, winIVRApplications_IVRApplications_006_SetApplicationAutoLaunch); init_thunk(&thunks[17], r, winIVRApplications_IVRApplications_006_SetApplicationAutoLaunch, 2);
init_thunk(&thunks[18], r, winIVRApplications_IVRApplications_006_GetApplicationAutoLaunch); init_thunk(&thunks[18], r, winIVRApplications_IVRApplications_006_GetApplicationAutoLaunch, 1);
init_thunk(&thunks[19], r, winIVRApplications_IVRApplications_006_SetDefaultApplicationForMimeType); init_thunk(&thunks[19], r, winIVRApplications_IVRApplications_006_SetDefaultApplicationForMimeType, 2);
init_thunk(&thunks[20], r, winIVRApplications_IVRApplications_006_GetDefaultApplicationForMimeType); init_thunk(&thunks[20], r, winIVRApplications_IVRApplications_006_GetDefaultApplicationForMimeType, 3);
init_thunk(&thunks[21], r, winIVRApplications_IVRApplications_006_GetApplicationSupportedMimeTypes); init_thunk(&thunks[21], r, winIVRApplications_IVRApplications_006_GetApplicationSupportedMimeTypes, 3);
init_thunk(&thunks[22], r, winIVRApplications_IVRApplications_006_GetApplicationsThatSupportMimeType); init_thunk(&thunks[22], r, winIVRApplications_IVRApplications_006_GetApplicationsThatSupportMimeType, 3);
init_thunk(&thunks[23], r, winIVRApplications_IVRApplications_006_GetApplicationLaunchArguments); init_thunk(&thunks[23], r, winIVRApplications_IVRApplications_006_GetApplicationLaunchArguments, 3);
init_thunk(&thunks[24], r, winIVRApplications_IVRApplications_006_GetStartingApplication); init_thunk(&thunks[24], r, winIVRApplications_IVRApplications_006_GetStartingApplication, 2);
init_thunk(&thunks[25], r, winIVRApplications_IVRApplications_006_GetTransitionState); init_thunk(&thunks[25], r, winIVRApplications_IVRApplications_006_GetTransitionState, 0);
init_thunk(&thunks[26], r, winIVRApplications_IVRApplications_006_PerformApplicationPrelaunchCheck); init_thunk(&thunks[26], r, winIVRApplications_IVRApplications_006_PerformApplicationPrelaunchCheck, 1);
init_thunk(&thunks[27], r, winIVRApplications_IVRApplications_006_GetApplicationsTransitionStateNameFromEnum); init_thunk(&thunks[27], r, winIVRApplications_IVRApplications_006_GetApplicationsTransitionStateNameFromEnum, 1);
init_thunk(&thunks[28], r, winIVRApplications_IVRApplications_006_IsQuitUserPromptRequested); init_thunk(&thunks[28], r, winIVRApplications_IVRApplications_006_IsQuitUserPromptRequested, 0);
init_thunk(&thunks[29], r, winIVRApplications_IVRApplications_006_LaunchInternalProcess); init_thunk(&thunks[29], r, winIVRApplications_IVRApplications_006_LaunchInternalProcess, 3);
init_thunk(&thunks[30], r, winIVRApplications_IVRApplications_006_GetCurrentSceneProcessId); init_thunk(&thunks[30], r, winIVRApplications_IVRApplications_006_GetCurrentSceneProcessId, 0);
for (i = 0; i < 31; i++) for (i = 0; i < 31; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;
@ -587,30 +587,30 @@ winIVRApplications_IVRApplications_005 *create_winIVRApplications_IVRApplication
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRApplications_IVRApplications_005_AddApplicationManifest); init_thunk(&thunks[0], r, winIVRApplications_IVRApplications_005_AddApplicationManifest, 2);
init_thunk(&thunks[1], r, winIVRApplications_IVRApplications_005_RemoveApplicationManifest); init_thunk(&thunks[1], r, winIVRApplications_IVRApplications_005_RemoveApplicationManifest, 1);
init_thunk(&thunks[2], r, winIVRApplications_IVRApplications_005_IsApplicationInstalled); init_thunk(&thunks[2], r, winIVRApplications_IVRApplications_005_IsApplicationInstalled, 1);
init_thunk(&thunks[3], r, winIVRApplications_IVRApplications_005_GetApplicationCount); init_thunk(&thunks[3], r, winIVRApplications_IVRApplications_005_GetApplicationCount, 0);
init_thunk(&thunks[4], r, winIVRApplications_IVRApplications_005_GetApplicationKeyByIndex); init_thunk(&thunks[4], r, winIVRApplications_IVRApplications_005_GetApplicationKeyByIndex, 3);
init_thunk(&thunks[5], r, winIVRApplications_IVRApplications_005_GetApplicationKeyByProcessId); init_thunk(&thunks[5], r, winIVRApplications_IVRApplications_005_GetApplicationKeyByProcessId, 3);
init_thunk(&thunks[6], r, winIVRApplications_IVRApplications_005_LaunchApplication); init_thunk(&thunks[6], r, winIVRApplications_IVRApplications_005_LaunchApplication, 1);
init_thunk(&thunks[7], r, winIVRApplications_IVRApplications_005_LaunchTemplateApplication); init_thunk(&thunks[7], r, winIVRApplications_IVRApplications_005_LaunchTemplateApplication, 4);
init_thunk(&thunks[8], r, winIVRApplications_IVRApplications_005_LaunchDashboardOverlay); init_thunk(&thunks[8], r, winIVRApplications_IVRApplications_005_LaunchDashboardOverlay, 1);
init_thunk(&thunks[9], r, winIVRApplications_IVRApplications_005_CancelApplicationLaunch); init_thunk(&thunks[9], r, winIVRApplications_IVRApplications_005_CancelApplicationLaunch, 1);
init_thunk(&thunks[10], r, winIVRApplications_IVRApplications_005_IdentifyApplication); init_thunk(&thunks[10], r, winIVRApplications_IVRApplications_005_IdentifyApplication, 2);
init_thunk(&thunks[11], r, winIVRApplications_IVRApplications_005_GetApplicationProcessId); init_thunk(&thunks[11], r, winIVRApplications_IVRApplications_005_GetApplicationProcessId, 1);
init_thunk(&thunks[12], r, winIVRApplications_IVRApplications_005_GetApplicationsErrorNameFromEnum); init_thunk(&thunks[12], r, winIVRApplications_IVRApplications_005_GetApplicationsErrorNameFromEnum, 1);
init_thunk(&thunks[13], r, winIVRApplications_IVRApplications_005_GetApplicationPropertyString); init_thunk(&thunks[13], r, winIVRApplications_IVRApplications_005_GetApplicationPropertyString, 5);
init_thunk(&thunks[14], r, winIVRApplications_IVRApplications_005_GetApplicationPropertyBool); init_thunk(&thunks[14], r, winIVRApplications_IVRApplications_005_GetApplicationPropertyBool, 3);
init_thunk(&thunks[15], r, winIVRApplications_IVRApplications_005_GetApplicationPropertyUint64); init_thunk(&thunks[15], r, winIVRApplications_IVRApplications_005_GetApplicationPropertyUint64, 3);
init_thunk(&thunks[16], r, winIVRApplications_IVRApplications_005_SetApplicationAutoLaunch); init_thunk(&thunks[16], r, winIVRApplications_IVRApplications_005_SetApplicationAutoLaunch, 2);
init_thunk(&thunks[17], r, winIVRApplications_IVRApplications_005_GetApplicationAutoLaunch); init_thunk(&thunks[17], r, winIVRApplications_IVRApplications_005_GetApplicationAutoLaunch, 1);
init_thunk(&thunks[18], r, winIVRApplications_IVRApplications_005_GetStartingApplication); init_thunk(&thunks[18], r, winIVRApplications_IVRApplications_005_GetStartingApplication, 2);
init_thunk(&thunks[19], r, winIVRApplications_IVRApplications_005_GetTransitionState); init_thunk(&thunks[19], r, winIVRApplications_IVRApplications_005_GetTransitionState, 0);
init_thunk(&thunks[20], r, winIVRApplications_IVRApplications_005_PerformApplicationPrelaunchCheck); init_thunk(&thunks[20], r, winIVRApplications_IVRApplications_005_PerformApplicationPrelaunchCheck, 1);
init_thunk(&thunks[21], r, winIVRApplications_IVRApplications_005_GetApplicationsTransitionStateNameFromEnum); init_thunk(&thunks[21], r, winIVRApplications_IVRApplications_005_GetApplicationsTransitionStateNameFromEnum, 1);
init_thunk(&thunks[22], r, winIVRApplications_IVRApplications_005_IsQuitUserPromptRequested); init_thunk(&thunks[22], r, winIVRApplications_IVRApplications_005_IsQuitUserPromptRequested, 0);
init_thunk(&thunks[23], r, winIVRApplications_IVRApplications_005_LaunchInternalProcess); init_thunk(&thunks[23], r, winIVRApplications_IVRApplications_005_LaunchInternalProcess, 3);
for (i = 0; i < 24; i++) for (i = 0; i < 24; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;
@ -852,29 +852,29 @@ winIVRApplications_IVRApplications_004 *create_winIVRApplications_IVRApplication
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRApplications_IVRApplications_004_AddApplicationManifest); init_thunk(&thunks[0], r, winIVRApplications_IVRApplications_004_AddApplicationManifest, 2);
init_thunk(&thunks[1], r, winIVRApplications_IVRApplications_004_RemoveApplicationManifest); init_thunk(&thunks[1], r, winIVRApplications_IVRApplications_004_RemoveApplicationManifest, 1);
init_thunk(&thunks[2], r, winIVRApplications_IVRApplications_004_IsApplicationInstalled); init_thunk(&thunks[2], r, winIVRApplications_IVRApplications_004_IsApplicationInstalled, 1);
init_thunk(&thunks[3], r, winIVRApplications_IVRApplications_004_GetApplicationCount); init_thunk(&thunks[3], r, winIVRApplications_IVRApplications_004_GetApplicationCount, 0);
init_thunk(&thunks[4], r, winIVRApplications_IVRApplications_004_GetApplicationKeyByIndex); init_thunk(&thunks[4], r, winIVRApplications_IVRApplications_004_GetApplicationKeyByIndex, 3);
init_thunk(&thunks[5], r, winIVRApplications_IVRApplications_004_GetApplicationKeyByProcessId); init_thunk(&thunks[5], r, winIVRApplications_IVRApplications_004_GetApplicationKeyByProcessId, 3);
init_thunk(&thunks[6], r, winIVRApplications_IVRApplications_004_LaunchApplication); init_thunk(&thunks[6], r, winIVRApplications_IVRApplications_004_LaunchApplication, 1);
init_thunk(&thunks[7], r, winIVRApplications_IVRApplications_004_LaunchDashboardOverlay); init_thunk(&thunks[7], r, winIVRApplications_IVRApplications_004_LaunchDashboardOverlay, 1);
init_thunk(&thunks[8], r, winIVRApplications_IVRApplications_004_CancelApplicationLaunch); init_thunk(&thunks[8], r, winIVRApplications_IVRApplications_004_CancelApplicationLaunch, 1);
init_thunk(&thunks[9], r, winIVRApplications_IVRApplications_004_IdentifyApplication); init_thunk(&thunks[9], r, winIVRApplications_IVRApplications_004_IdentifyApplication, 2);
init_thunk(&thunks[10], r, winIVRApplications_IVRApplications_004_GetApplicationProcessId); init_thunk(&thunks[10], r, winIVRApplications_IVRApplications_004_GetApplicationProcessId, 1);
init_thunk(&thunks[11], r, winIVRApplications_IVRApplications_004_GetApplicationsErrorNameFromEnum); init_thunk(&thunks[11], r, winIVRApplications_IVRApplications_004_GetApplicationsErrorNameFromEnum, 1);
init_thunk(&thunks[12], r, winIVRApplications_IVRApplications_004_GetApplicationPropertyString); init_thunk(&thunks[12], r, winIVRApplications_IVRApplications_004_GetApplicationPropertyString, 5);
init_thunk(&thunks[13], r, winIVRApplications_IVRApplications_004_GetApplicationPropertyBool); init_thunk(&thunks[13], r, winIVRApplications_IVRApplications_004_GetApplicationPropertyBool, 3);
init_thunk(&thunks[14], r, winIVRApplications_IVRApplications_004_GetApplicationPropertyUint64); init_thunk(&thunks[14], r, winIVRApplications_IVRApplications_004_GetApplicationPropertyUint64, 3);
init_thunk(&thunks[15], r, winIVRApplications_IVRApplications_004_SetApplicationAutoLaunch); init_thunk(&thunks[15], r, winIVRApplications_IVRApplications_004_SetApplicationAutoLaunch, 2);
init_thunk(&thunks[16], r, winIVRApplications_IVRApplications_004_GetApplicationAutoLaunch); init_thunk(&thunks[16], r, winIVRApplications_IVRApplications_004_GetApplicationAutoLaunch, 1);
init_thunk(&thunks[17], r, winIVRApplications_IVRApplications_004_GetStartingApplication); init_thunk(&thunks[17], r, winIVRApplications_IVRApplications_004_GetStartingApplication, 2);
init_thunk(&thunks[18], r, winIVRApplications_IVRApplications_004_GetTransitionState); init_thunk(&thunks[18], r, winIVRApplications_IVRApplications_004_GetTransitionState, 0);
init_thunk(&thunks[19], r, winIVRApplications_IVRApplications_004_PerformApplicationPrelaunchCheck); init_thunk(&thunks[19], r, winIVRApplications_IVRApplications_004_PerformApplicationPrelaunchCheck, 1);
init_thunk(&thunks[20], r, winIVRApplications_IVRApplications_004_GetApplicationsTransitionStateNameFromEnum); init_thunk(&thunks[20], r, winIVRApplications_IVRApplications_004_GetApplicationsTransitionStateNameFromEnum, 1);
init_thunk(&thunks[21], r, winIVRApplications_IVRApplications_004_IsQuitUserPromptRequested); init_thunk(&thunks[21], r, winIVRApplications_IVRApplications_004_IsQuitUserPromptRequested, 0);
init_thunk(&thunks[22], r, winIVRApplications_IVRApplications_004_LaunchInternalProcess); init_thunk(&thunks[22], r, winIVRApplications_IVRApplications_004_LaunchInternalProcess, 3);
for (i = 0; i < 23; i++) for (i = 0; i < 23; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;
@ -1100,27 +1100,27 @@ winIVRApplications_IVRApplications_003 *create_winIVRApplications_IVRApplication
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRApplications_IVRApplications_003_AddApplicationManifest); init_thunk(&thunks[0], r, winIVRApplications_IVRApplications_003_AddApplicationManifest, 2);
init_thunk(&thunks[1], r, winIVRApplications_IVRApplications_003_RemoveApplicationManifest); init_thunk(&thunks[1], r, winIVRApplications_IVRApplications_003_RemoveApplicationManifest, 1);
init_thunk(&thunks[2], r, winIVRApplications_IVRApplications_003_IsApplicationInstalled); init_thunk(&thunks[2], r, winIVRApplications_IVRApplications_003_IsApplicationInstalled, 1);
init_thunk(&thunks[3], r, winIVRApplications_IVRApplications_003_GetApplicationCount); init_thunk(&thunks[3], r, winIVRApplications_IVRApplications_003_GetApplicationCount, 0);
init_thunk(&thunks[4], r, winIVRApplications_IVRApplications_003_GetApplicationKeyByIndex); init_thunk(&thunks[4], r, winIVRApplications_IVRApplications_003_GetApplicationKeyByIndex, 3);
init_thunk(&thunks[5], r, winIVRApplications_IVRApplications_003_GetApplicationKeyByProcessId); init_thunk(&thunks[5], r, winIVRApplications_IVRApplications_003_GetApplicationKeyByProcessId, 3);
init_thunk(&thunks[6], r, winIVRApplications_IVRApplications_003_LaunchApplication); init_thunk(&thunks[6], r, winIVRApplications_IVRApplications_003_LaunchApplication, 1);
init_thunk(&thunks[7], r, winIVRApplications_IVRApplications_003_LaunchDashboardOverlay); init_thunk(&thunks[7], r, winIVRApplications_IVRApplications_003_LaunchDashboardOverlay, 1);
init_thunk(&thunks[8], r, winIVRApplications_IVRApplications_003_IdentifyApplication); init_thunk(&thunks[8], r, winIVRApplications_IVRApplications_003_IdentifyApplication, 2);
init_thunk(&thunks[9], r, winIVRApplications_IVRApplications_003_GetApplicationProcessId); init_thunk(&thunks[9], r, winIVRApplications_IVRApplications_003_GetApplicationProcessId, 1);
init_thunk(&thunks[10], r, winIVRApplications_IVRApplications_003_GetApplicationsErrorNameFromEnum); init_thunk(&thunks[10], r, winIVRApplications_IVRApplications_003_GetApplicationsErrorNameFromEnum, 1);
init_thunk(&thunks[11], r, winIVRApplications_IVRApplications_003_GetApplicationPropertyString); init_thunk(&thunks[11], r, winIVRApplications_IVRApplications_003_GetApplicationPropertyString, 5);
init_thunk(&thunks[12], r, winIVRApplications_IVRApplications_003_GetApplicationPropertyBool); init_thunk(&thunks[12], r, winIVRApplications_IVRApplications_003_GetApplicationPropertyBool, 3);
init_thunk(&thunks[13], r, winIVRApplications_IVRApplications_003_GetApplicationPropertyUint64); init_thunk(&thunks[13], r, winIVRApplications_IVRApplications_003_GetApplicationPropertyUint64, 3);
init_thunk(&thunks[14], r, winIVRApplications_IVRApplications_003_SetApplicationAutoLaunch); init_thunk(&thunks[14], r, winIVRApplications_IVRApplications_003_SetApplicationAutoLaunch, 2);
init_thunk(&thunks[15], r, winIVRApplications_IVRApplications_003_GetApplicationAutoLaunch); init_thunk(&thunks[15], r, winIVRApplications_IVRApplications_003_GetApplicationAutoLaunch, 1);
init_thunk(&thunks[16], r, winIVRApplications_IVRApplications_003_GetStartingApplication); init_thunk(&thunks[16], r, winIVRApplications_IVRApplications_003_GetStartingApplication, 2);
init_thunk(&thunks[17], r, winIVRApplications_IVRApplications_003_GetTransitionState); init_thunk(&thunks[17], r, winIVRApplications_IVRApplications_003_GetTransitionState, 0);
init_thunk(&thunks[18], r, winIVRApplications_IVRApplications_003_PerformApplicationPrelaunchCheck); init_thunk(&thunks[18], r, winIVRApplications_IVRApplications_003_PerformApplicationPrelaunchCheck, 1);
init_thunk(&thunks[19], r, winIVRApplications_IVRApplications_003_GetApplicationsTransitionStateNameFromEnum); init_thunk(&thunks[19], r, winIVRApplications_IVRApplications_003_GetApplicationsTransitionStateNameFromEnum, 1);
init_thunk(&thunks[20], r, winIVRApplications_IVRApplications_003_IsQuitUserPromptRequested); init_thunk(&thunks[20], r, winIVRApplications_IVRApplications_003_IsQuitUserPromptRequested, 0);
for (i = 0; i < 21; i++) for (i = 0; i < 21; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;
@ -1338,26 +1338,26 @@ winIVRApplications_IVRApplications_002 *create_winIVRApplications_IVRApplication
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRApplications_IVRApplications_002_AddApplicationManifest); init_thunk(&thunks[0], r, winIVRApplications_IVRApplications_002_AddApplicationManifest, 2);
init_thunk(&thunks[1], r, winIVRApplications_IVRApplications_002_RemoveApplicationManifest); init_thunk(&thunks[1], r, winIVRApplications_IVRApplications_002_RemoveApplicationManifest, 1);
init_thunk(&thunks[2], r, winIVRApplications_IVRApplications_002_IsApplicationInstalled); init_thunk(&thunks[2], r, winIVRApplications_IVRApplications_002_IsApplicationInstalled, 1);
init_thunk(&thunks[3], r, winIVRApplications_IVRApplications_002_GetApplicationCount); init_thunk(&thunks[3], r, winIVRApplications_IVRApplications_002_GetApplicationCount, 0);
init_thunk(&thunks[4], r, winIVRApplications_IVRApplications_002_GetApplicationKeyByIndex); init_thunk(&thunks[4], r, winIVRApplications_IVRApplications_002_GetApplicationKeyByIndex, 3);
init_thunk(&thunks[5], r, winIVRApplications_IVRApplications_002_GetApplicationKeyByProcessId); init_thunk(&thunks[5], r, winIVRApplications_IVRApplications_002_GetApplicationKeyByProcessId, 3);
init_thunk(&thunks[6], r, winIVRApplications_IVRApplications_002_LaunchApplication); init_thunk(&thunks[6], r, winIVRApplications_IVRApplications_002_LaunchApplication, 1);
init_thunk(&thunks[7], r, winIVRApplications_IVRApplications_002_LaunchDashboardOverlay); init_thunk(&thunks[7], r, winIVRApplications_IVRApplications_002_LaunchDashboardOverlay, 1);
init_thunk(&thunks[8], r, winIVRApplications_IVRApplications_002_IdentifyApplication); init_thunk(&thunks[8], r, winIVRApplications_IVRApplications_002_IdentifyApplication, 2);
init_thunk(&thunks[9], r, winIVRApplications_IVRApplications_002_GetApplicationProcessId); init_thunk(&thunks[9], r, winIVRApplications_IVRApplications_002_GetApplicationProcessId, 1);
init_thunk(&thunks[10], r, winIVRApplications_IVRApplications_002_GetApplicationsErrorNameFromEnum); init_thunk(&thunks[10], r, winIVRApplications_IVRApplications_002_GetApplicationsErrorNameFromEnum, 1);
init_thunk(&thunks[11], r, winIVRApplications_IVRApplications_002_GetApplicationPropertyString); init_thunk(&thunks[11], r, winIVRApplications_IVRApplications_002_GetApplicationPropertyString, 5);
init_thunk(&thunks[12], r, winIVRApplications_IVRApplications_002_GetApplicationPropertyBool); init_thunk(&thunks[12], r, winIVRApplications_IVRApplications_002_GetApplicationPropertyBool, 3);
init_thunk(&thunks[13], r, winIVRApplications_IVRApplications_002_SetApplicationAutoLaunch); init_thunk(&thunks[13], r, winIVRApplications_IVRApplications_002_SetApplicationAutoLaunch, 2);
init_thunk(&thunks[14], r, winIVRApplications_IVRApplications_002_GetApplicationAutoLaunch); init_thunk(&thunks[14], r, winIVRApplications_IVRApplications_002_GetApplicationAutoLaunch, 1);
init_thunk(&thunks[15], r, winIVRApplications_IVRApplications_002_GetStartingApplication); init_thunk(&thunks[15], r, winIVRApplications_IVRApplications_002_GetStartingApplication, 2);
init_thunk(&thunks[16], r, winIVRApplications_IVRApplications_002_GetTransitionState); init_thunk(&thunks[16], r, winIVRApplications_IVRApplications_002_GetTransitionState, 0);
init_thunk(&thunks[17], r, winIVRApplications_IVRApplications_002_PerformApplicationPrelaunchCheck); init_thunk(&thunks[17], r, winIVRApplications_IVRApplications_002_PerformApplicationPrelaunchCheck, 1);
init_thunk(&thunks[18], r, winIVRApplications_IVRApplications_002_GetApplicationsTransitionStateNameFromEnum); init_thunk(&thunks[18], r, winIVRApplications_IVRApplications_002_GetApplicationsTransitionStateNameFromEnum, 1);
init_thunk(&thunks[19], r, winIVRApplications_IVRApplications_002_IsQuitUserPromptRequested); init_thunk(&thunks[19], r, winIVRApplications_IVRApplications_002_IsQuitUserPromptRequested, 0);
for (i = 0; i < 20; i++) for (i = 0; i < 20; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;
@ -1583,27 +1583,27 @@ winIVRApplications_IVRApplications_001 *create_winIVRApplications_IVRApplication
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRApplications_IVRApplications_001_AddApplicationManifest); init_thunk(&thunks[0], r, winIVRApplications_IVRApplications_001_AddApplicationManifest, 2);
init_thunk(&thunks[1], r, winIVRApplications_IVRApplications_001_RemoveApplicationManifest); init_thunk(&thunks[1], r, winIVRApplications_IVRApplications_001_RemoveApplicationManifest, 1);
init_thunk(&thunks[2], r, winIVRApplications_IVRApplications_001_IsApplicationInstalled); init_thunk(&thunks[2], r, winIVRApplications_IVRApplications_001_IsApplicationInstalled, 1);
init_thunk(&thunks[3], r, winIVRApplications_IVRApplications_001_GetApplicationCount); init_thunk(&thunks[3], r, winIVRApplications_IVRApplications_001_GetApplicationCount, 0);
init_thunk(&thunks[4], r, winIVRApplications_IVRApplications_001_GetApplicationKeyByIndex); init_thunk(&thunks[4], r, winIVRApplications_IVRApplications_001_GetApplicationKeyByIndex, 3);
init_thunk(&thunks[5], r, winIVRApplications_IVRApplications_001_GetApplicationKeyByProcessId); init_thunk(&thunks[5], r, winIVRApplications_IVRApplications_001_GetApplicationKeyByProcessId, 3);
init_thunk(&thunks[6], r, winIVRApplications_IVRApplications_001_LaunchApplication); init_thunk(&thunks[6], r, winIVRApplications_IVRApplications_001_LaunchApplication, 1);
init_thunk(&thunks[7], r, winIVRApplications_IVRApplications_001_LaunchDashboardOverlay); init_thunk(&thunks[7], r, winIVRApplications_IVRApplications_001_LaunchDashboardOverlay, 1);
init_thunk(&thunks[8], r, winIVRApplications_IVRApplications_001_IdentifyApplication); init_thunk(&thunks[8], r, winIVRApplications_IVRApplications_001_IdentifyApplication, 2);
init_thunk(&thunks[9], r, winIVRApplications_IVRApplications_001_GetApplicationProcessId); init_thunk(&thunks[9], r, winIVRApplications_IVRApplications_001_GetApplicationProcessId, 1);
init_thunk(&thunks[10], r, winIVRApplications_IVRApplications_001_GetApplicationsErrorNameFromEnum); init_thunk(&thunks[10], r, winIVRApplications_IVRApplications_001_GetApplicationsErrorNameFromEnum, 1);
init_thunk(&thunks[11], r, winIVRApplications_IVRApplications_001_GetApplicationPropertyString); init_thunk(&thunks[11], r, winIVRApplications_IVRApplications_001_GetApplicationPropertyString, 5);
init_thunk(&thunks[12], r, winIVRApplications_IVRApplications_001_GetApplicationPropertyBool); init_thunk(&thunks[12], r, winIVRApplications_IVRApplications_001_GetApplicationPropertyBool, 3);
init_thunk(&thunks[13], r, winIVRApplications_IVRApplications_001_GetHomeApplication); init_thunk(&thunks[13], r, winIVRApplications_IVRApplications_001_GetHomeApplication, 2);
init_thunk(&thunks[14], r, winIVRApplications_IVRApplications_001_SetHomeApplication); init_thunk(&thunks[14], r, winIVRApplications_IVRApplications_001_SetHomeApplication, 1);
init_thunk(&thunks[15], r, winIVRApplications_IVRApplications_001_SetApplicationAutoLaunch); init_thunk(&thunks[15], r, winIVRApplications_IVRApplications_001_SetApplicationAutoLaunch, 2);
init_thunk(&thunks[16], r, winIVRApplications_IVRApplications_001_GetApplicationAutoLaunch); init_thunk(&thunks[16], r, winIVRApplications_IVRApplications_001_GetApplicationAutoLaunch, 1);
init_thunk(&thunks[17], r, winIVRApplications_IVRApplications_001_GetStartingApplication); init_thunk(&thunks[17], r, winIVRApplications_IVRApplications_001_GetStartingApplication, 2);
init_thunk(&thunks[18], r, winIVRApplications_IVRApplications_001_GetTransitionState); init_thunk(&thunks[18], r, winIVRApplications_IVRApplications_001_GetTransitionState, 0);
init_thunk(&thunks[19], r, winIVRApplications_IVRApplications_001_PerformApplicationPrelaunchCheck); init_thunk(&thunks[19], r, winIVRApplications_IVRApplications_001_PerformApplicationPrelaunchCheck, 1);
init_thunk(&thunks[20], r, winIVRApplications_IVRApplications_001_GetApplicationsTransitionStateNameFromEnum); init_thunk(&thunks[20], r, winIVRApplications_IVRApplications_001_GetApplicationsTransitionStateNameFromEnum, 1);
for (i = 0; i < 21; i++) for (i = 0; i < 21; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;

View File

@ -123,14 +123,14 @@ winIVRChaperone_IVRChaperone_003 *create_winIVRChaperone_IVRChaperone_003_FnTabl
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRChaperone_IVRChaperone_003_GetCalibrationState); init_thunk(&thunks[0], r, winIVRChaperone_IVRChaperone_003_GetCalibrationState, 0);
init_thunk(&thunks[1], r, winIVRChaperone_IVRChaperone_003_GetPlayAreaSize); init_thunk(&thunks[1], r, winIVRChaperone_IVRChaperone_003_GetPlayAreaSize, 2);
init_thunk(&thunks[2], r, winIVRChaperone_IVRChaperone_003_GetPlayAreaRect); init_thunk(&thunks[2], r, winIVRChaperone_IVRChaperone_003_GetPlayAreaRect, 1);
init_thunk(&thunks[3], r, winIVRChaperone_IVRChaperone_003_ReloadInfo); init_thunk(&thunks[3], r, winIVRChaperone_IVRChaperone_003_ReloadInfo, 0);
init_thunk(&thunks[4], r, winIVRChaperone_IVRChaperone_003_SetSceneColor); init_thunk(&thunks[4], r, winIVRChaperone_IVRChaperone_003_SetSceneColor, 1);
init_thunk(&thunks[5], r, winIVRChaperone_IVRChaperone_003_GetBoundsColor); init_thunk(&thunks[5], r, winIVRChaperone_IVRChaperone_003_GetBoundsColor, 4);
init_thunk(&thunks[6], r, winIVRChaperone_IVRChaperone_003_AreBoundsVisible); init_thunk(&thunks[6], r, winIVRChaperone_IVRChaperone_003_AreBoundsVisible, 0);
init_thunk(&thunks[7], r, winIVRChaperone_IVRChaperone_003_ForceBoundsVisible); init_thunk(&thunks[7], r, winIVRChaperone_IVRChaperone_003_ForceBoundsVisible, 1);
for (i = 0; i < 8; i++) for (i = 0; i < 8; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;
@ -260,15 +260,15 @@ winIVRChaperone_IVRChaperone_002 *create_winIVRChaperone_IVRChaperone_002_FnTabl
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRChaperone_IVRChaperone_002_GetCalibrationState); init_thunk(&thunks[0], r, winIVRChaperone_IVRChaperone_002_GetCalibrationState, 0);
init_thunk(&thunks[1], r, winIVRChaperone_IVRChaperone_002_GetSoftBoundsInfo); init_thunk(&thunks[1], r, winIVRChaperone_IVRChaperone_002_GetSoftBoundsInfo, 1);
init_thunk(&thunks[2], r, winIVRChaperone_IVRChaperone_002_GetHardBoundsInfo); init_thunk(&thunks[2], r, winIVRChaperone_IVRChaperone_002_GetHardBoundsInfo, 2);
init_thunk(&thunks[3], r, winIVRChaperone_IVRChaperone_002_GetSeatedBoundsInfo); init_thunk(&thunks[3], r, winIVRChaperone_IVRChaperone_002_GetSeatedBoundsInfo, 1);
init_thunk(&thunks[4], r, winIVRChaperone_IVRChaperone_002_ReloadInfo); init_thunk(&thunks[4], r, winIVRChaperone_IVRChaperone_002_ReloadInfo, 0);
init_thunk(&thunks[5], r, winIVRChaperone_IVRChaperone_002_SetSceneColor); init_thunk(&thunks[5], r, winIVRChaperone_IVRChaperone_002_SetSceneColor, 1);
init_thunk(&thunks[6], r, winIVRChaperone_IVRChaperone_002_GetBoundsColor); init_thunk(&thunks[6], r, winIVRChaperone_IVRChaperone_002_GetBoundsColor, 2);
init_thunk(&thunks[7], r, winIVRChaperone_IVRChaperone_002_AreBoundsVisible); init_thunk(&thunks[7], r, winIVRChaperone_IVRChaperone_002_AreBoundsVisible, 0);
init_thunk(&thunks[8], r, winIVRChaperone_IVRChaperone_002_ForceBoundsVisible); init_thunk(&thunks[8], r, winIVRChaperone_IVRChaperone_002_ForceBoundsVisible, 1);
for (i = 0; i < 9; i++) for (i = 0; i < 9; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;

View File

@ -219,26 +219,26 @@ winIVRChaperoneSetup_IVRChaperoneSetup_005 *create_winIVRChaperoneSetup_IVRChape
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_CommitWorkingCopy); init_thunk(&thunks[0], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_CommitWorkingCopy, 1);
init_thunk(&thunks[1], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_RevertWorkingCopy); init_thunk(&thunks[1], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_RevertWorkingCopy, 0);
init_thunk(&thunks[2], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetWorkingPlayAreaSize); init_thunk(&thunks[2], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetWorkingPlayAreaSize, 2);
init_thunk(&thunks[3], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetWorkingPlayAreaRect); init_thunk(&thunks[3], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetWorkingPlayAreaRect, 1);
init_thunk(&thunks[4], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetWorkingCollisionBoundsInfo); init_thunk(&thunks[4], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetWorkingCollisionBoundsInfo, 2);
init_thunk(&thunks[5], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetLiveCollisionBoundsInfo); init_thunk(&thunks[5], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetLiveCollisionBoundsInfo, 2);
init_thunk(&thunks[6], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetWorkingSeatedZeroPoseToRawTrackingPose); init_thunk(&thunks[6], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetWorkingSeatedZeroPoseToRawTrackingPose, 1);
init_thunk(&thunks[7], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetWorkingStandingZeroPoseToRawTrackingPose); init_thunk(&thunks[7], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetWorkingStandingZeroPoseToRawTrackingPose, 1);
init_thunk(&thunks[8], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_SetWorkingPlayAreaSize); init_thunk(&thunks[8], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_SetWorkingPlayAreaSize, 2);
init_thunk(&thunks[9], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_SetWorkingCollisionBoundsInfo); init_thunk(&thunks[9], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_SetWorkingCollisionBoundsInfo, 2);
init_thunk(&thunks[10], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_SetWorkingSeatedZeroPoseToRawTrackingPose); init_thunk(&thunks[10], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_SetWorkingSeatedZeroPoseToRawTrackingPose, 1);
init_thunk(&thunks[11], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_SetWorkingStandingZeroPoseToRawTrackingPose); init_thunk(&thunks[11], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_SetWorkingStandingZeroPoseToRawTrackingPose, 1);
init_thunk(&thunks[12], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_ReloadFromDisk); init_thunk(&thunks[12], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_ReloadFromDisk, 1);
init_thunk(&thunks[13], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetLiveSeatedZeroPoseToRawTrackingPose); init_thunk(&thunks[13], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetLiveSeatedZeroPoseToRawTrackingPose, 1);
init_thunk(&thunks[14], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_SetWorkingCollisionBoundsTagsInfo); init_thunk(&thunks[14], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_SetWorkingCollisionBoundsTagsInfo, 2);
init_thunk(&thunks[15], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetLiveCollisionBoundsTagsInfo); init_thunk(&thunks[15], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetLiveCollisionBoundsTagsInfo, 2);
init_thunk(&thunks[16], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_SetWorkingPhysicalBoundsInfo); init_thunk(&thunks[16], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_SetWorkingPhysicalBoundsInfo, 2);
init_thunk(&thunks[17], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetLivePhysicalBoundsInfo); init_thunk(&thunks[17], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetLivePhysicalBoundsInfo, 2);
init_thunk(&thunks[18], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_ExportLiveToBuffer); init_thunk(&thunks[18], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_ExportLiveToBuffer, 2);
init_thunk(&thunks[19], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_ImportFromBufferToWorking); init_thunk(&thunks[19], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_ImportFromBufferToWorking, 2);
for (i = 0; i < 20; i++) for (i = 0; i < 20; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;
@ -424,22 +424,22 @@ winIVRChaperoneSetup_IVRChaperoneSetup_004 *create_winIVRChaperoneSetup_IVRChape
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_CommitWorkingCopy); init_thunk(&thunks[0], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_CommitWorkingCopy, 1);
init_thunk(&thunks[1], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_RevertWorkingCopy); init_thunk(&thunks[1], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_RevertWorkingCopy, 0);
init_thunk(&thunks[2], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetWorkingPlayAreaSize); init_thunk(&thunks[2], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetWorkingPlayAreaSize, 2);
init_thunk(&thunks[3], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetWorkingPlayAreaRect); init_thunk(&thunks[3], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetWorkingPlayAreaRect, 1);
init_thunk(&thunks[4], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetWorkingCollisionBoundsInfo); init_thunk(&thunks[4], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetWorkingCollisionBoundsInfo, 2);
init_thunk(&thunks[5], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetLiveCollisionBoundsInfo); init_thunk(&thunks[5], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetLiveCollisionBoundsInfo, 2);
init_thunk(&thunks[6], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetWorkingSeatedZeroPoseToRawTrackingPose); init_thunk(&thunks[6], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetWorkingSeatedZeroPoseToRawTrackingPose, 1);
init_thunk(&thunks[7], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetWorkingStandingZeroPoseToRawTrackingPose); init_thunk(&thunks[7], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetWorkingStandingZeroPoseToRawTrackingPose, 1);
init_thunk(&thunks[8], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_SetWorkingPlayAreaSize); init_thunk(&thunks[8], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_SetWorkingPlayAreaSize, 2);
init_thunk(&thunks[9], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_SetWorkingCollisionBoundsInfo); init_thunk(&thunks[9], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_SetWorkingCollisionBoundsInfo, 2);
init_thunk(&thunks[10], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_SetWorkingSeatedZeroPoseToRawTrackingPose); init_thunk(&thunks[10], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_SetWorkingSeatedZeroPoseToRawTrackingPose, 1);
init_thunk(&thunks[11], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_SetWorkingStandingZeroPoseToRawTrackingPose); init_thunk(&thunks[11], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_SetWorkingStandingZeroPoseToRawTrackingPose, 1);
init_thunk(&thunks[12], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_ReloadFromDisk); init_thunk(&thunks[12], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_ReloadFromDisk, 1);
init_thunk(&thunks[13], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetLiveSeatedZeroPoseToRawTrackingPose); init_thunk(&thunks[13], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetLiveSeatedZeroPoseToRawTrackingPose, 1);
init_thunk(&thunks[14], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_SetWorkingWallTagInfo); init_thunk(&thunks[14], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_SetWorkingWallTagInfo, 2);
init_thunk(&thunks[15], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetLiveWallTagInfo); init_thunk(&thunks[15], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetLiveWallTagInfo, 2);
for (i = 0; i < 16; i++) for (i = 0; i < 16; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;

View File

@ -116,13 +116,13 @@ winIVRClientCore_IVRClientCore_003 *create_winIVRClientCore_IVRClientCore_003_Fn
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRClientCore_IVRClientCore_003_Init); init_thunk(&thunks[0], r, winIVRClientCore_IVRClientCore_003_Init, 2);
init_thunk(&thunks[1], r, winIVRClientCore_IVRClientCore_003_Cleanup); init_thunk(&thunks[1], r, winIVRClientCore_IVRClientCore_003_Cleanup, 0);
init_thunk(&thunks[2], r, winIVRClientCore_IVRClientCore_003_IsInterfaceVersionValid); init_thunk(&thunks[2], r, winIVRClientCore_IVRClientCore_003_IsInterfaceVersionValid, 1);
init_thunk(&thunks[3], r, winIVRClientCore_IVRClientCore_003_GetGenericInterface); init_thunk(&thunks[3], r, winIVRClientCore_IVRClientCore_003_GetGenericInterface, 2);
init_thunk(&thunks[4], r, winIVRClientCore_IVRClientCore_003_BIsHmdPresent); init_thunk(&thunks[4], r, winIVRClientCore_IVRClientCore_003_BIsHmdPresent, 0);
init_thunk(&thunks[5], r, winIVRClientCore_IVRClientCore_003_GetEnglishStringForHmdError); init_thunk(&thunks[5], r, winIVRClientCore_IVRClientCore_003_GetEnglishStringForHmdError, 1);
init_thunk(&thunks[6], r, winIVRClientCore_IVRClientCore_003_GetIDForVRInitError); init_thunk(&thunks[6], r, winIVRClientCore_IVRClientCore_003_GetIDForVRInitError, 1);
for (i = 0; i < 7; i++) for (i = 0; i < 7; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;
@ -237,13 +237,13 @@ winIVRClientCore_IVRClientCore_002 *create_winIVRClientCore_IVRClientCore_002_Fn
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRClientCore_IVRClientCore_002_Init); init_thunk(&thunks[0], r, winIVRClientCore_IVRClientCore_002_Init, 1);
init_thunk(&thunks[1], r, winIVRClientCore_IVRClientCore_002_Cleanup); init_thunk(&thunks[1], r, winIVRClientCore_IVRClientCore_002_Cleanup, 0);
init_thunk(&thunks[2], r, winIVRClientCore_IVRClientCore_002_IsInterfaceVersionValid); init_thunk(&thunks[2], r, winIVRClientCore_IVRClientCore_002_IsInterfaceVersionValid, 1);
init_thunk(&thunks[3], r, winIVRClientCore_IVRClientCore_002_GetGenericInterface); init_thunk(&thunks[3], r, winIVRClientCore_IVRClientCore_002_GetGenericInterface, 2);
init_thunk(&thunks[4], r, winIVRClientCore_IVRClientCore_002_BIsHmdPresent); init_thunk(&thunks[4], r, winIVRClientCore_IVRClientCore_002_BIsHmdPresent, 0);
init_thunk(&thunks[5], r, winIVRClientCore_IVRClientCore_002_GetEnglishStringForHmdError); init_thunk(&thunks[5], r, winIVRClientCore_IVRClientCore_002_GetEnglishStringForHmdError, 1);
init_thunk(&thunks[6], r, winIVRClientCore_IVRClientCore_002_GetIDForVRInitError); init_thunk(&thunks[6], r, winIVRClientCore_IVRClientCore_002_GetIDForVRInitError, 1);
for (i = 0; i < 7; i++) for (i = 0; i < 7; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;

File diff suppressed because it is too large Load Diff

View File

@ -83,9 +83,9 @@ winIVRDriverManager_IVRDriverManager_001 *create_winIVRDriverManager_IVRDriverMa
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRDriverManager_IVRDriverManager_001_GetDriverCount); init_thunk(&thunks[0], r, winIVRDriverManager_IVRDriverManager_001_GetDriverCount, 0);
init_thunk(&thunks[1], r, winIVRDriverManager_IVRDriverManager_001_GetDriverName); init_thunk(&thunks[1], r, winIVRDriverManager_IVRDriverManager_001_GetDriverName, 3);
init_thunk(&thunks[2], r, winIVRDriverManager_IVRDriverManager_001_GetDriverHandle); init_thunk(&thunks[2], r, winIVRDriverManager_IVRDriverManager_001_GetDriverHandle, 1);
for (i = 0; i < 3; i++) for (i = 0; i < 3; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;

View File

@ -83,9 +83,9 @@ winIVRExtendedDisplay_IVRExtendedDisplay_001 *create_winIVRExtendedDisplay_IVREx
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRExtendedDisplay_IVRExtendedDisplay_001_GetWindowBounds); init_thunk(&thunks[0], r, winIVRExtendedDisplay_IVRExtendedDisplay_001_GetWindowBounds, 4);
init_thunk(&thunks[1], r, winIVRExtendedDisplay_IVRExtendedDisplay_001_GetEyeOutputViewport); init_thunk(&thunks[1], r, winIVRExtendedDisplay_IVRExtendedDisplay_001_GetEyeOutputViewport, 5);
init_thunk(&thunks[2], r, winIVRExtendedDisplay_IVRExtendedDisplay_001_GetDXGIOutputInfo); init_thunk(&thunks[2], r, winIVRExtendedDisplay_IVRExtendedDisplay_001_GetDXGIOutputInfo, 2);
for (i = 0; i < 3; i++) for (i = 0; i < 3; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;

View File

@ -99,11 +99,11 @@ winIVRIOBuffer_IVRIOBuffer_001 *create_winIVRIOBuffer_IVRIOBuffer_001_FnTable(vo
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRIOBuffer_IVRIOBuffer_001_Open); init_thunk(&thunks[0], r, winIVRIOBuffer_IVRIOBuffer_001_Open, 5);
init_thunk(&thunks[1], r, winIVRIOBuffer_IVRIOBuffer_001_Close); init_thunk(&thunks[1], r, winIVRIOBuffer_IVRIOBuffer_001_Close, 1);
init_thunk(&thunks[2], r, winIVRIOBuffer_IVRIOBuffer_001_Read); init_thunk(&thunks[2], r, winIVRIOBuffer_IVRIOBuffer_001_Read, 4);
init_thunk(&thunks[3], r, winIVRIOBuffer_IVRIOBuffer_001_Write); init_thunk(&thunks[3], r, winIVRIOBuffer_IVRIOBuffer_001_Write, 3);
init_thunk(&thunks[4], r, winIVRIOBuffer_IVRIOBuffer_001_PropertyContainer); init_thunk(&thunks[4], r, winIVRIOBuffer_IVRIOBuffer_001_PropertyContainer, 1);
for (i = 0; i < 5; i++) for (i = 0; i < 5; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;

View File

@ -195,23 +195,23 @@ winIVRInput_IVRInput_003 *create_winIVRInput_IVRInput_003_FnTable(void *linux_si
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRInput_IVRInput_003_SetActionManifestPath); init_thunk(&thunks[0], r, winIVRInput_IVRInput_003_SetActionManifestPath, 1);
init_thunk(&thunks[1], r, winIVRInput_IVRInput_003_GetActionSetHandle); init_thunk(&thunks[1], r, winIVRInput_IVRInput_003_GetActionSetHandle, 2);
init_thunk(&thunks[2], r, winIVRInput_IVRInput_003_GetActionHandle); init_thunk(&thunks[2], r, winIVRInput_IVRInput_003_GetActionHandle, 2);
init_thunk(&thunks[3], r, winIVRInput_IVRInput_003_GetInputSourceHandle); init_thunk(&thunks[3], r, winIVRInput_IVRInput_003_GetInputSourceHandle, 2);
init_thunk(&thunks[4], r, winIVRInput_IVRInput_003_UpdateActionState); init_thunk(&thunks[4], r, winIVRInput_IVRInput_003_UpdateActionState, 3);
init_thunk(&thunks[5], r, winIVRInput_IVRInput_003_GetDigitalActionData); init_thunk(&thunks[5], r, winIVRInput_IVRInput_003_GetDigitalActionData, 3);
init_thunk(&thunks[6], r, winIVRInput_IVRInput_003_GetAnalogActionData); init_thunk(&thunks[6], r, winIVRInput_IVRInput_003_GetAnalogActionData, 3);
init_thunk(&thunks[7], r, winIVRInput_IVRInput_003_GetPoseActionData); init_thunk(&thunks[7], r, winIVRInput_IVRInput_003_GetPoseActionData, 5);
init_thunk(&thunks[8], r, winIVRInput_IVRInput_003_GetSkeletalActionData); init_thunk(&thunks[8], r, winIVRInput_IVRInput_003_GetSkeletalActionData, 7);
init_thunk(&thunks[9], r, winIVRInput_IVRInput_003_GetSkeletalActionDataCompressed); init_thunk(&thunks[9], r, winIVRInput_IVRInput_003_GetSkeletalActionDataCompressed, 6);
init_thunk(&thunks[10], r, winIVRInput_IVRInput_003_UncompressSkeletalActionData); init_thunk(&thunks[10], r, winIVRInput_IVRInput_003_UncompressSkeletalActionData, 5);
init_thunk(&thunks[11], r, winIVRInput_IVRInput_003_TriggerHapticVibrationAction); init_thunk(&thunks[11], r, winIVRInput_IVRInput_003_TriggerHapticVibrationAction, 5);
init_thunk(&thunks[12], r, winIVRInput_IVRInput_003_GetActionOrigins); init_thunk(&thunks[12], r, winIVRInput_IVRInput_003_GetActionOrigins, 4);
init_thunk(&thunks[13], r, winIVRInput_IVRInput_003_GetOriginLocalizedName); init_thunk(&thunks[13], r, winIVRInput_IVRInput_003_GetOriginLocalizedName, 3);
init_thunk(&thunks[14], r, winIVRInput_IVRInput_003_GetOriginTrackedDeviceInfo); init_thunk(&thunks[14], r, winIVRInput_IVRInput_003_GetOriginTrackedDeviceInfo, 3);
init_thunk(&thunks[15], r, winIVRInput_IVRInput_003_ShowActionOrigins); init_thunk(&thunks[15], r, winIVRInput_IVRInput_003_ShowActionOrigins, 2);
init_thunk(&thunks[16], r, winIVRInput_IVRInput_003_ShowBindingsForActionSet); init_thunk(&thunks[16], r, winIVRInput_IVRInput_003_ShowBindingsForActionSet, 4);
for (i = 0; i < 17; i++) for (i = 0; i < 17; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;

View File

@ -75,8 +75,8 @@ winIVRNotifications_IVRNotifications_002 *create_winIVRNotifications_IVRNotifica
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRNotifications_IVRNotifications_002_CreateNotification); init_thunk(&thunks[0], r, winIVRNotifications_IVRNotifications_002_CreateNotification, 7);
init_thunk(&thunks[1], r, winIVRNotifications_IVRNotifications_002_RemoveNotification); init_thunk(&thunks[1], r, winIVRNotifications_IVRNotifications_002_RemoveNotification, 1);
for (i = 0; i < 2; i++) for (i = 0; i < 2; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;
@ -158,9 +158,9 @@ winIVRNotifications_IVRNotifications_001 *create_winIVRNotifications_IVRNotifica
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRNotifications_IVRNotifications_001_GetErrorString); init_thunk(&thunks[0], r, winIVRNotifications_IVRNotifications_001_GetErrorString, 3);
init_thunk(&thunks[1], r, winIVRNotifications_IVRNotifications_001_CreateNotification); init_thunk(&thunks[1], r, winIVRNotifications_IVRNotifications_001_CreateNotification, 7);
init_thunk(&thunks[2], r, winIVRNotifications_IVRNotifications_001_DismissNotification); init_thunk(&thunks[2], r, winIVRNotifications_IVRNotifications_001_DismissNotification, 1);
for (i = 0; i < 3; i++) for (i = 0; i < 3; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;

File diff suppressed because it is too large Load Diff

View File

@ -203,24 +203,24 @@ winIVRRenderModels_IVRRenderModels_005 *create_winIVRRenderModels_IVRRenderModel
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRRenderModels_IVRRenderModels_005_LoadRenderModel_Async); init_thunk(&thunks[0], r, winIVRRenderModels_IVRRenderModels_005_LoadRenderModel_Async, 2);
init_thunk(&thunks[1], r, winIVRRenderModels_IVRRenderModels_005_FreeRenderModel); init_thunk(&thunks[1], r, winIVRRenderModels_IVRRenderModels_005_FreeRenderModel, 1);
init_thunk(&thunks[2], r, winIVRRenderModels_IVRRenderModels_005_LoadTexture_Async); init_thunk(&thunks[2], r, winIVRRenderModels_IVRRenderModels_005_LoadTexture_Async, 2);
init_thunk(&thunks[3], r, winIVRRenderModels_IVRRenderModels_005_FreeTexture); init_thunk(&thunks[3], r, winIVRRenderModels_IVRRenderModels_005_FreeTexture, 1);
init_thunk(&thunks[4], r, winIVRRenderModels_IVRRenderModels_005_LoadTextureD3D11_Async); init_thunk(&thunks[4], r, winIVRRenderModels_IVRRenderModels_005_LoadTextureD3D11_Async, 3);
init_thunk(&thunks[5], r, winIVRRenderModels_IVRRenderModels_005_LoadIntoTextureD3D11_Async); init_thunk(&thunks[5], r, winIVRRenderModels_IVRRenderModels_005_LoadIntoTextureD3D11_Async, 2);
init_thunk(&thunks[6], r, winIVRRenderModels_IVRRenderModels_005_FreeTextureD3D11); init_thunk(&thunks[6], r, winIVRRenderModels_IVRRenderModels_005_FreeTextureD3D11, 1);
init_thunk(&thunks[7], r, winIVRRenderModels_IVRRenderModels_005_GetRenderModelName); init_thunk(&thunks[7], r, winIVRRenderModels_IVRRenderModels_005_GetRenderModelName, 3);
init_thunk(&thunks[8], r, winIVRRenderModels_IVRRenderModels_005_GetRenderModelCount); init_thunk(&thunks[8], r, winIVRRenderModels_IVRRenderModels_005_GetRenderModelCount, 0);
init_thunk(&thunks[9], r, winIVRRenderModels_IVRRenderModels_005_GetComponentCount); init_thunk(&thunks[9], r, winIVRRenderModels_IVRRenderModels_005_GetComponentCount, 1);
init_thunk(&thunks[10], r, winIVRRenderModels_IVRRenderModels_005_GetComponentName); init_thunk(&thunks[10], r, winIVRRenderModels_IVRRenderModels_005_GetComponentName, 4);
init_thunk(&thunks[11], r, winIVRRenderModels_IVRRenderModels_005_GetComponentButtonMask); init_thunk(&thunks[11], r, winIVRRenderModels_IVRRenderModels_005_GetComponentButtonMask, 2);
init_thunk(&thunks[12], r, winIVRRenderModels_IVRRenderModels_005_GetComponentRenderModelName); init_thunk(&thunks[12], r, winIVRRenderModels_IVRRenderModels_005_GetComponentRenderModelName, 4);
init_thunk(&thunks[13], r, winIVRRenderModels_IVRRenderModels_005_GetComponentState); init_thunk(&thunks[13], r, winIVRRenderModels_IVRRenderModels_005_GetComponentState, 5);
init_thunk(&thunks[14], r, winIVRRenderModels_IVRRenderModels_005_RenderModelHasComponent); init_thunk(&thunks[14], r, winIVRRenderModels_IVRRenderModels_005_RenderModelHasComponent, 2);
init_thunk(&thunks[15], r, winIVRRenderModels_IVRRenderModels_005_GetRenderModelThumbnailURL); init_thunk(&thunks[15], r, winIVRRenderModels_IVRRenderModels_005_GetRenderModelThumbnailURL, 4);
init_thunk(&thunks[16], r, winIVRRenderModels_IVRRenderModels_005_GetRenderModelOriginalPath); init_thunk(&thunks[16], r, winIVRRenderModels_IVRRenderModels_005_GetRenderModelOriginalPath, 4);
init_thunk(&thunks[17], r, winIVRRenderModels_IVRRenderModels_005_GetRenderModelErrorNameFromEnum); init_thunk(&thunks[17], r, winIVRRenderModels_IVRRenderModels_005_GetRenderModelErrorNameFromEnum, 1);
for (i = 0; i < 18; i++) for (i = 0; i < 18; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;
@ -390,20 +390,20 @@ winIVRRenderModels_IVRRenderModels_004 *create_winIVRRenderModels_IVRRenderModel
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRRenderModels_IVRRenderModels_004_LoadRenderModel_Async); init_thunk(&thunks[0], r, winIVRRenderModels_IVRRenderModels_004_LoadRenderModel_Async, 2);
init_thunk(&thunks[1], r, winIVRRenderModels_IVRRenderModels_004_FreeRenderModel); init_thunk(&thunks[1], r, winIVRRenderModels_IVRRenderModels_004_FreeRenderModel, 1);
init_thunk(&thunks[2], r, winIVRRenderModels_IVRRenderModels_004_LoadTexture_Async); init_thunk(&thunks[2], r, winIVRRenderModels_IVRRenderModels_004_LoadTexture_Async, 2);
init_thunk(&thunks[3], r, winIVRRenderModels_IVRRenderModels_004_FreeTexture); init_thunk(&thunks[3], r, winIVRRenderModels_IVRRenderModels_004_FreeTexture, 1);
init_thunk(&thunks[4], r, winIVRRenderModels_IVRRenderModels_004_LoadTextureD3D11_Async); init_thunk(&thunks[4], r, winIVRRenderModels_IVRRenderModels_004_LoadTextureD3D11_Async, 3);
init_thunk(&thunks[5], r, winIVRRenderModels_IVRRenderModels_004_FreeTextureD3D11); init_thunk(&thunks[5], r, winIVRRenderModels_IVRRenderModels_004_FreeTextureD3D11, 1);
init_thunk(&thunks[6], r, winIVRRenderModels_IVRRenderModels_004_GetRenderModelName); init_thunk(&thunks[6], r, winIVRRenderModels_IVRRenderModels_004_GetRenderModelName, 3);
init_thunk(&thunks[7], r, winIVRRenderModels_IVRRenderModels_004_GetRenderModelCount); init_thunk(&thunks[7], r, winIVRRenderModels_IVRRenderModels_004_GetRenderModelCount, 0);
init_thunk(&thunks[8], r, winIVRRenderModels_IVRRenderModels_004_GetComponentCount); init_thunk(&thunks[8], r, winIVRRenderModels_IVRRenderModels_004_GetComponentCount, 1);
init_thunk(&thunks[9], r, winIVRRenderModels_IVRRenderModels_004_GetComponentName); init_thunk(&thunks[9], r, winIVRRenderModels_IVRRenderModels_004_GetComponentName, 4);
init_thunk(&thunks[10], r, winIVRRenderModels_IVRRenderModels_004_GetComponentButtonMask); init_thunk(&thunks[10], r, winIVRRenderModels_IVRRenderModels_004_GetComponentButtonMask, 2);
init_thunk(&thunks[11], r, winIVRRenderModels_IVRRenderModels_004_GetComponentRenderModelName); init_thunk(&thunks[11], r, winIVRRenderModels_IVRRenderModels_004_GetComponentRenderModelName, 4);
init_thunk(&thunks[12], r, winIVRRenderModels_IVRRenderModels_004_GetComponentState); init_thunk(&thunks[12], r, winIVRRenderModels_IVRRenderModels_004_GetComponentState, 5);
init_thunk(&thunks[13], r, winIVRRenderModels_IVRRenderModels_004_RenderModelHasComponent); init_thunk(&thunks[13], r, winIVRRenderModels_IVRRenderModels_004_RenderModelHasComponent, 2);
for (i = 0; i < 14; i++) for (i = 0; i < 14; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;
@ -557,18 +557,18 @@ winIVRRenderModels_IVRRenderModels_002 *create_winIVRRenderModels_IVRRenderModel
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRRenderModels_IVRRenderModels_002_LoadRenderModel); init_thunk(&thunks[0], r, winIVRRenderModels_IVRRenderModels_002_LoadRenderModel, 2);
init_thunk(&thunks[1], r, winIVRRenderModels_IVRRenderModels_002_FreeRenderModel); init_thunk(&thunks[1], r, winIVRRenderModels_IVRRenderModels_002_FreeRenderModel, 1);
init_thunk(&thunks[2], r, winIVRRenderModels_IVRRenderModels_002_LoadTexture); init_thunk(&thunks[2], r, winIVRRenderModels_IVRRenderModels_002_LoadTexture, 2);
init_thunk(&thunks[3], r, winIVRRenderModels_IVRRenderModels_002_FreeTexture); init_thunk(&thunks[3], r, winIVRRenderModels_IVRRenderModels_002_FreeTexture, 1);
init_thunk(&thunks[4], r, winIVRRenderModels_IVRRenderModels_002_GetRenderModelName); init_thunk(&thunks[4], r, winIVRRenderModels_IVRRenderModels_002_GetRenderModelName, 3);
init_thunk(&thunks[5], r, winIVRRenderModels_IVRRenderModels_002_GetRenderModelCount); init_thunk(&thunks[5], r, winIVRRenderModels_IVRRenderModels_002_GetRenderModelCount, 0);
init_thunk(&thunks[6], r, winIVRRenderModels_IVRRenderModels_002_GetComponentCount); init_thunk(&thunks[6], r, winIVRRenderModels_IVRRenderModels_002_GetComponentCount, 1);
init_thunk(&thunks[7], r, winIVRRenderModels_IVRRenderModels_002_GetComponentName); init_thunk(&thunks[7], r, winIVRRenderModels_IVRRenderModels_002_GetComponentName, 4);
init_thunk(&thunks[8], r, winIVRRenderModels_IVRRenderModels_002_GetComponentButtonMask); init_thunk(&thunks[8], r, winIVRRenderModels_IVRRenderModels_002_GetComponentButtonMask, 2);
init_thunk(&thunks[9], r, winIVRRenderModels_IVRRenderModels_002_GetComponentRenderModelName); init_thunk(&thunks[9], r, winIVRRenderModels_IVRRenderModels_002_GetComponentRenderModelName, 4);
init_thunk(&thunks[10], r, winIVRRenderModels_IVRRenderModels_002_GetComponentState); init_thunk(&thunks[10], r, winIVRRenderModels_IVRRenderModels_002_GetComponentState, 4);
init_thunk(&thunks[11], r, winIVRRenderModels_IVRRenderModels_002_RenderModelHasComponent); init_thunk(&thunks[11], r, winIVRRenderModels_IVRRenderModels_002_RenderModelHasComponent, 2);
for (i = 0; i < 12; i++) for (i = 0; i < 12; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;
@ -658,10 +658,10 @@ winIVRRenderModels_IVRRenderModels_001 *create_winIVRRenderModels_IVRRenderModel
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRRenderModels_IVRRenderModels_001_LoadRenderModel); init_thunk(&thunks[0], r, winIVRRenderModels_IVRRenderModels_001_LoadRenderModel, 2);
init_thunk(&thunks[1], r, winIVRRenderModels_IVRRenderModels_001_FreeRenderModel); init_thunk(&thunks[1], r, winIVRRenderModels_IVRRenderModels_001_FreeRenderModel, 1);
init_thunk(&thunks[2], r, winIVRRenderModels_IVRRenderModels_001_GetRenderModelName); init_thunk(&thunks[2], r, winIVRRenderModels_IVRRenderModels_001_GetRenderModelName, 3);
init_thunk(&thunks[3], r, winIVRRenderModels_IVRRenderModels_001_GetRenderModelCount); init_thunk(&thunks[3], r, winIVRRenderModels_IVRRenderModels_001_GetRenderModelCount, 0);
for (i = 0; i < 4; i++) for (i = 0; i < 4; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;

View File

@ -75,8 +75,8 @@ winIVRResources_IVRResources_001 *create_winIVRResources_IVRResources_001_FnTabl
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRResources_IVRResources_001_LoadSharedResource); init_thunk(&thunks[0], r, winIVRResources_IVRResources_001_LoadSharedResource, 3);
init_thunk(&thunks[1], r, winIVRResources_IVRResources_001_GetResourceFullPath); init_thunk(&thunks[1], r, winIVRResources_IVRResources_001_GetResourceFullPath, 4);
for (i = 0; i < 2; i++) for (i = 0; i < 2; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;

View File

@ -115,13 +115,13 @@ winIVRScreenshots_IVRScreenshots_001 *create_winIVRScreenshots_IVRScreenshots_00
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRScreenshots_IVRScreenshots_001_RequestScreenshot); init_thunk(&thunks[0], r, winIVRScreenshots_IVRScreenshots_001_RequestScreenshot, 4);
init_thunk(&thunks[1], r, winIVRScreenshots_IVRScreenshots_001_HookScreenshot); init_thunk(&thunks[1], r, winIVRScreenshots_IVRScreenshots_001_HookScreenshot, 2);
init_thunk(&thunks[2], r, winIVRScreenshots_IVRScreenshots_001_GetScreenshotPropertyType); init_thunk(&thunks[2], r, winIVRScreenshots_IVRScreenshots_001_GetScreenshotPropertyType, 2);
init_thunk(&thunks[3], r, winIVRScreenshots_IVRScreenshots_001_GetScreenshotPropertyFilename); init_thunk(&thunks[3], r, winIVRScreenshots_IVRScreenshots_001_GetScreenshotPropertyFilename, 5);
init_thunk(&thunks[4], r, winIVRScreenshots_IVRScreenshots_001_UpdateScreenshotProgress); init_thunk(&thunks[4], r, winIVRScreenshots_IVRScreenshots_001_UpdateScreenshotProgress, 2);
init_thunk(&thunks[5], r, winIVRScreenshots_IVRScreenshots_001_TakeStereoScreenshot); init_thunk(&thunks[5], r, winIVRScreenshots_IVRScreenshots_001_TakeStereoScreenshot, 3);
init_thunk(&thunks[6], r, winIVRScreenshots_IVRScreenshots_001_SubmitScreenshot); init_thunk(&thunks[6], r, winIVRScreenshots_IVRScreenshots_001_SubmitScreenshot, 4);
for (i = 0; i < 7; i++) for (i = 0; i < 7; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;

View File

@ -155,18 +155,18 @@ winIVRSettings_IVRSettings_002 *create_winIVRSettings_IVRSettings_002_FnTable(vo
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRSettings_IVRSettings_002_GetSettingsErrorNameFromEnum); init_thunk(&thunks[0], r, winIVRSettings_IVRSettings_002_GetSettingsErrorNameFromEnum, 1);
init_thunk(&thunks[1], r, winIVRSettings_IVRSettings_002_Sync); init_thunk(&thunks[1], r, winIVRSettings_IVRSettings_002_Sync, 2);
init_thunk(&thunks[2], r, winIVRSettings_IVRSettings_002_SetBool); init_thunk(&thunks[2], r, winIVRSettings_IVRSettings_002_SetBool, 4);
init_thunk(&thunks[3], r, winIVRSettings_IVRSettings_002_SetInt32); init_thunk(&thunks[3], r, winIVRSettings_IVRSettings_002_SetInt32, 4);
init_thunk(&thunks[4], r, winIVRSettings_IVRSettings_002_SetFloat); init_thunk(&thunks[4], r, winIVRSettings_IVRSettings_002_SetFloat, 4);
init_thunk(&thunks[5], r, winIVRSettings_IVRSettings_002_SetString); init_thunk(&thunks[5], r, winIVRSettings_IVRSettings_002_SetString, 4);
init_thunk(&thunks[6], r, winIVRSettings_IVRSettings_002_GetBool); init_thunk(&thunks[6], r, winIVRSettings_IVRSettings_002_GetBool, 3);
init_thunk(&thunks[7], r, winIVRSettings_IVRSettings_002_GetInt32); init_thunk(&thunks[7], r, winIVRSettings_IVRSettings_002_GetInt32, 3);
init_thunk(&thunks[8], r, winIVRSettings_IVRSettings_002_GetFloat); init_thunk(&thunks[8], r, winIVRSettings_IVRSettings_002_GetFloat, 3);
init_thunk(&thunks[9], r, winIVRSettings_IVRSettings_002_GetString); init_thunk(&thunks[9], r, winIVRSettings_IVRSettings_002_GetString, 5);
init_thunk(&thunks[10], r, winIVRSettings_IVRSettings_002_RemoveSection); init_thunk(&thunks[10], r, winIVRSettings_IVRSettings_002_RemoveSection, 2);
init_thunk(&thunks[11], r, winIVRSettings_IVRSettings_002_RemoveKeyInSection); init_thunk(&thunks[11], r, winIVRSettings_IVRSettings_002_RemoveKeyInSection, 3);
for (i = 0; i < 12; i++) for (i = 0; i < 12; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;
@ -320,18 +320,18 @@ winIVRSettings_IVRSettings_001 *create_winIVRSettings_IVRSettings_001_FnTable(vo
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRSettings_IVRSettings_001_GetSettingsErrorNameFromEnum); init_thunk(&thunks[0], r, winIVRSettings_IVRSettings_001_GetSettingsErrorNameFromEnum, 1);
init_thunk(&thunks[1], r, winIVRSettings_IVRSettings_001_Sync); init_thunk(&thunks[1], r, winIVRSettings_IVRSettings_001_Sync, 2);
init_thunk(&thunks[2], r, winIVRSettings_IVRSettings_001_GetBool); init_thunk(&thunks[2], r, winIVRSettings_IVRSettings_001_GetBool, 4);
init_thunk(&thunks[3], r, winIVRSettings_IVRSettings_001_SetBool); init_thunk(&thunks[3], r, winIVRSettings_IVRSettings_001_SetBool, 4);
init_thunk(&thunks[4], r, winIVRSettings_IVRSettings_001_GetInt32); init_thunk(&thunks[4], r, winIVRSettings_IVRSettings_001_GetInt32, 4);
init_thunk(&thunks[5], r, winIVRSettings_IVRSettings_001_SetInt32); init_thunk(&thunks[5], r, winIVRSettings_IVRSettings_001_SetInt32, 4);
init_thunk(&thunks[6], r, winIVRSettings_IVRSettings_001_GetFloat); init_thunk(&thunks[6], r, winIVRSettings_IVRSettings_001_GetFloat, 4);
init_thunk(&thunks[7], r, winIVRSettings_IVRSettings_001_SetFloat); init_thunk(&thunks[7], r, winIVRSettings_IVRSettings_001_SetFloat, 4);
init_thunk(&thunks[8], r, winIVRSettings_IVRSettings_001_GetString); init_thunk(&thunks[8], r, winIVRSettings_IVRSettings_001_GetString, 6);
init_thunk(&thunks[9], r, winIVRSettings_IVRSettings_001_SetString); init_thunk(&thunks[9], r, winIVRSettings_IVRSettings_001_SetString, 4);
init_thunk(&thunks[10], r, winIVRSettings_IVRSettings_001_RemoveSection); init_thunk(&thunks[10], r, winIVRSettings_IVRSettings_001_RemoveSection, 2);
init_thunk(&thunks[11], r, winIVRSettings_IVRSettings_001_RemoveKeyInSection); init_thunk(&thunks[11], r, winIVRSettings_IVRSettings_001_RemoveKeyInSection, 3);
for (i = 0; i < 12; i++) for (i = 0; i < 12; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;

File diff suppressed because it is too large Load Diff

View File

@ -155,18 +155,18 @@ winIVRTrackedCamera_IVRTrackedCamera_003 *create_winIVRTrackedCamera_IVRTrackedC
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetCameraErrorNameFromEnum); init_thunk(&thunks[0], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetCameraErrorNameFromEnum, 1);
init_thunk(&thunks[1], r, winIVRTrackedCamera_IVRTrackedCamera_003_HasCamera); init_thunk(&thunks[1], r, winIVRTrackedCamera_IVRTrackedCamera_003_HasCamera, 2);
init_thunk(&thunks[2], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetCameraFrameSize); init_thunk(&thunks[2], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetCameraFrameSize, 5);
init_thunk(&thunks[3], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetCameraIntrinsics); init_thunk(&thunks[3], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetCameraIntrinsics, 4);
init_thunk(&thunks[4], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetCameraProjection); init_thunk(&thunks[4], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetCameraProjection, 5);
init_thunk(&thunks[5], r, winIVRTrackedCamera_IVRTrackedCamera_003_AcquireVideoStreamingService); init_thunk(&thunks[5], r, winIVRTrackedCamera_IVRTrackedCamera_003_AcquireVideoStreamingService, 2);
init_thunk(&thunks[6], r, winIVRTrackedCamera_IVRTrackedCamera_003_ReleaseVideoStreamingService); init_thunk(&thunks[6], r, winIVRTrackedCamera_IVRTrackedCamera_003_ReleaseVideoStreamingService, 1);
init_thunk(&thunks[7], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetVideoStreamFrameBuffer); init_thunk(&thunks[7], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetVideoStreamFrameBuffer, 6);
init_thunk(&thunks[8], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetVideoStreamTextureSize); init_thunk(&thunks[8], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetVideoStreamTextureSize, 5);
init_thunk(&thunks[9], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetVideoStreamTextureD3D11); init_thunk(&thunks[9], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetVideoStreamTextureD3D11, 6);
init_thunk(&thunks[10], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetVideoStreamTextureGL); init_thunk(&thunks[10], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetVideoStreamTextureGL, 5);
init_thunk(&thunks[11], r, winIVRTrackedCamera_IVRTrackedCamera_003_ReleaseVideoStreamTextureGL); init_thunk(&thunks[11], r, winIVRTrackedCamera_IVRTrackedCamera_003_ReleaseVideoStreamTextureGL, 2);
for (i = 0; i < 12; i++) for (i = 0; i < 12; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;
@ -288,14 +288,14 @@ winIVRTrackedCamera_IVRTrackedCamera_002 *create_winIVRTrackedCamera_IVRTrackedC
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRTrackedCamera_IVRTrackedCamera_002_GetCameraErrorNameFromEnum); init_thunk(&thunks[0], r, winIVRTrackedCamera_IVRTrackedCamera_002_GetCameraErrorNameFromEnum, 1);
init_thunk(&thunks[1], r, winIVRTrackedCamera_IVRTrackedCamera_002_HasCamera); init_thunk(&thunks[1], r, winIVRTrackedCamera_IVRTrackedCamera_002_HasCamera, 2);
init_thunk(&thunks[2], r, winIVRTrackedCamera_IVRTrackedCamera_002_GetCameraFrameSize); init_thunk(&thunks[2], r, winIVRTrackedCamera_IVRTrackedCamera_002_GetCameraFrameSize, 5);
init_thunk(&thunks[3], r, winIVRTrackedCamera_IVRTrackedCamera_002_GetCameraIntrinisics); init_thunk(&thunks[3], r, winIVRTrackedCamera_IVRTrackedCamera_002_GetCameraIntrinisics, 4);
init_thunk(&thunks[4], r, winIVRTrackedCamera_IVRTrackedCamera_002_GetCameraProjection); init_thunk(&thunks[4], r, winIVRTrackedCamera_IVRTrackedCamera_002_GetCameraProjection, 5);
init_thunk(&thunks[5], r, winIVRTrackedCamera_IVRTrackedCamera_002_AcquireVideoStreamingService); init_thunk(&thunks[5], r, winIVRTrackedCamera_IVRTrackedCamera_002_AcquireVideoStreamingService, 2);
init_thunk(&thunks[6], r, winIVRTrackedCamera_IVRTrackedCamera_002_ReleaseVideoStreamingService); init_thunk(&thunks[6], r, winIVRTrackedCamera_IVRTrackedCamera_002_ReleaseVideoStreamingService, 1);
init_thunk(&thunks[7], r, winIVRTrackedCamera_IVRTrackedCamera_002_GetVideoStreamFrameBuffer); init_thunk(&thunks[7], r, winIVRTrackedCamera_IVRTrackedCamera_002_GetVideoStreamFrameBuffer, 6);
for (i = 0; i < 8; i++) for (i = 0; i < 8; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;
@ -497,24 +497,24 @@ winIVRTrackedCamera_IVRTrackedCamera_001 *create_winIVRTrackedCamera_IVRTrackedC
int i; int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRTrackedCamera_IVRTrackedCamera_001_HasCamera); init_thunk(&thunks[0], r, winIVRTrackedCamera_IVRTrackedCamera_001_HasCamera, 1);
init_thunk(&thunks[1], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetCameraFirmwareDescription); init_thunk(&thunks[1], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetCameraFirmwareDescription, 3);
init_thunk(&thunks[2], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetCameraFrameDimensions); init_thunk(&thunks[2], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetCameraFrameDimensions, 4);
init_thunk(&thunks[3], r, winIVRTrackedCamera_IVRTrackedCamera_001_SetCameraVideoStreamFormat); init_thunk(&thunks[3], r, winIVRTrackedCamera_IVRTrackedCamera_001_SetCameraVideoStreamFormat, 2);
init_thunk(&thunks[4], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetCameraVideoStreamFormat); init_thunk(&thunks[4], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetCameraVideoStreamFormat, 1);
init_thunk(&thunks[5], r, winIVRTrackedCamera_IVRTrackedCamera_001_EnableCameraForStreaming); init_thunk(&thunks[5], r, winIVRTrackedCamera_IVRTrackedCamera_001_EnableCameraForStreaming, 2);
init_thunk(&thunks[6], r, winIVRTrackedCamera_IVRTrackedCamera_001_StartVideoStream); init_thunk(&thunks[6], r, winIVRTrackedCamera_IVRTrackedCamera_001_StartVideoStream, 1);
init_thunk(&thunks[7], r, winIVRTrackedCamera_IVRTrackedCamera_001_StopVideoStream); init_thunk(&thunks[7], r, winIVRTrackedCamera_IVRTrackedCamera_001_StopVideoStream, 1);
init_thunk(&thunks[8], r, winIVRTrackedCamera_IVRTrackedCamera_001_IsVideoStreamActive); init_thunk(&thunks[8], r, winIVRTrackedCamera_IVRTrackedCamera_001_IsVideoStreamActive, 1);
init_thunk(&thunks[9], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetVideoStreamElapsedTime); init_thunk(&thunks[9], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetVideoStreamElapsedTime, 1);
init_thunk(&thunks[10], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetVideoStreamFrame); init_thunk(&thunks[10], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetVideoStreamFrame, 1);
init_thunk(&thunks[11], r, winIVRTrackedCamera_IVRTrackedCamera_001_ReleaseVideoStreamFrame); init_thunk(&thunks[11], r, winIVRTrackedCamera_IVRTrackedCamera_001_ReleaseVideoStreamFrame, 2);
init_thunk(&thunks[12], r, winIVRTrackedCamera_IVRTrackedCamera_001_SetAutoExposure); init_thunk(&thunks[12], r, winIVRTrackedCamera_IVRTrackedCamera_001_SetAutoExposure, 2);
init_thunk(&thunks[13], r, winIVRTrackedCamera_IVRTrackedCamera_001_PauseVideoStream); init_thunk(&thunks[13], r, winIVRTrackedCamera_IVRTrackedCamera_001_PauseVideoStream, 1);
init_thunk(&thunks[14], r, winIVRTrackedCamera_IVRTrackedCamera_001_ResumeVideoStream); init_thunk(&thunks[14], r, winIVRTrackedCamera_IVRTrackedCamera_001_ResumeVideoStream, 1);
init_thunk(&thunks[15], r, winIVRTrackedCamera_IVRTrackedCamera_001_IsVideoStreamPaused); init_thunk(&thunks[15], r, winIVRTrackedCamera_IVRTrackedCamera_001_IsVideoStreamPaused, 1);
init_thunk(&thunks[16], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetCameraDistortion); init_thunk(&thunks[16], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetCameraDistortion, 5);
init_thunk(&thunks[17], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetCameraProjection); init_thunk(&thunks[17], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetCameraProjection, 6);
for (i = 0; i < 18; i++) for (i = 0; i < 18; i++)
vtable[i] = &thunks[i]; vtable[i] = &thunks[i];
r->linux_side = linux_side; r->linux_side = linux_side;