mirror of
https://github.com/ValveSoftware/Proton.git
synced 2024-12-27 23:25:50 +03:00
vrclient: Fix float parameters in x64 C API thunks.
This commit is contained in:
parent
92f395ddd5
commit
304a3d8b76
@ -24,6 +24,17 @@ __ASM_GLOBAL_FUNC(call_flat_method,
|
||||
"jmp *%r11");
|
||||
extern void call_flat_method(void);
|
||||
|
||||
__ASM_GLOBAL_FUNC(call_flat_method_f,
|
||||
"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
|
||||
"movq %xmm2, %xmm3\n\t"
|
||||
"movq %xmm1, %xmm2\n\t"
|
||||
"movq %xmm0, %xmm1\n\t"
|
||||
"jmp *%r11");
|
||||
extern void call_flat_method_f(void);
|
||||
|
||||
__ASM_GLOBAL_FUNC(call_flat_method4,
|
||||
"subq $0x28, %rsp\n\t"
|
||||
"movq %r9, 0x20(%rsp)\n\t"
|
||||
@ -126,8 +137,251 @@ __ASM_GLOBAL_FUNC(call_flat_method9,
|
||||
"ret");
|
||||
extern void call_flat_method9(void);
|
||||
|
||||
pfn_call_flat_method get_call_flat_method_pfn( int param_count )
|
||||
__ASM_GLOBAL_FUNC(call_flat_method4_f,
|
||||
"subq $0x28, %rsp\n\t"
|
||||
"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
|
||||
"movq %xmm2, %xmm3\n\t"
|
||||
"movq %xmm1, %xmm2\n\t"
|
||||
"movq %xmm0, %xmm1\n\t"
|
||||
"call *%r11\n\t"
|
||||
"addq $0x28, %rsp\n\t"
|
||||
"ret");
|
||||
extern void call_flat_method4_f(void);
|
||||
|
||||
__ASM_GLOBAL_FUNC(call_flat_method4_f_f,
|
||||
"subq $0x28, %rsp\n\t"
|
||||
"movq %xmm3, 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
|
||||
"movq %xmm2, %xmm3\n\t"
|
||||
"movq %xmm1, %xmm2\n\t"
|
||||
"movq %xmm0, %xmm1\n\t"
|
||||
"call *%r11\n\t"
|
||||
"addq $0x28, %rsp\n\t"
|
||||
"ret");
|
||||
extern void call_flat_method4_f_f(void);
|
||||
|
||||
__ASM_GLOBAL_FUNC(call_flat_method5_f,
|
||||
"subq $0x38, %rsp\n\t"
|
||||
"movq %r9, 0x20(%rsp)\n\t"
|
||||
"movq 0x60(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x28(%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
|
||||
"movq %xmm2, %xmm3\n\t"
|
||||
"movq %xmm1, %xmm2\n\t"
|
||||
"movq %xmm0, %xmm1\n\t"
|
||||
"call *%r11\n\t"
|
||||
"addq $0x38, %rsp\n\t"
|
||||
"ret");
|
||||
extern void call_flat_method5_f(void);
|
||||
|
||||
__ASM_GLOBAL_FUNC(call_flat_method5_f_f,
|
||||
"subq $0x38, %rsp\n\t"
|
||||
"movq %xmm3, 0x20(%rsp)\n\t"
|
||||
"movq 0x60(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x28(%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
|
||||
"movq %xmm2, %xmm3\n\t"
|
||||
"movq %xmm1, %xmm2\n\t"
|
||||
"movq %xmm0, %xmm1\n\t"
|
||||
"call *%r11\n\t"
|
||||
"addq $0x38, %rsp\n\t"
|
||||
"ret");
|
||||
extern void call_flat_method5_f_f(void);
|
||||
|
||||
__ASM_GLOBAL_FUNC(call_flat_method6_f,
|
||||
"subq $0x38, %rsp\n\t"
|
||||
"movq %r9, 0x20(%rsp)\n\t"
|
||||
"movq 0x60(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x28(%rsp)\n\t"
|
||||
"movq 0x68(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x30(%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
|
||||
"movq %xmm2, %xmm3\n\t"
|
||||
"movq %xmm1, %xmm2\n\t"
|
||||
"movq %xmm0, %xmm1\n\t"
|
||||
"call *%r11\n\t"
|
||||
"addq $0x38, %rsp\n\t"
|
||||
"ret");
|
||||
extern void call_flat_method6_f(void);
|
||||
|
||||
__ASM_GLOBAL_FUNC(call_flat_method6_f_f,
|
||||
"subq $0x38, %rsp\n\t"
|
||||
"movq %xmm3, 0x20(%rsp)\n\t"
|
||||
"movq 0x60(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x28(%rsp)\n\t"
|
||||
"movq 0x68(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x30(%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
|
||||
"movq %xmm2, %xmm3\n\t"
|
||||
"movq %xmm1, %xmm2\n\t"
|
||||
"movq %xmm0, %xmm1\n\t"
|
||||
"call *%r11\n\t"
|
||||
"addq $0x38, %rsp\n\t"
|
||||
"ret");
|
||||
extern void call_flat_method6_f_f(void);
|
||||
|
||||
__ASM_GLOBAL_FUNC(call_flat_method7_f,
|
||||
"subq $0x48, %rsp\n\t"
|
||||
"movq %r9, 0x20(%rsp)\n\t"
|
||||
"movq 0x70(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x28(%rsp)\n\t"
|
||||
"movq 0x78(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x30(%rsp)\n\t"
|
||||
"movq 0x80(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x38(%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
|
||||
"movq %xmm2, %xmm3\n\t"
|
||||
"movq %xmm1, %xmm2\n\t"
|
||||
"movq %xmm0, %xmm1\n\t"
|
||||
"call *%r11\n\t"
|
||||
"addq $0x48, %rsp\n\t"
|
||||
"ret");
|
||||
extern void call_flat_method7_f(void);
|
||||
|
||||
__ASM_GLOBAL_FUNC(call_flat_method7_f_f,
|
||||
"subq $0x48, %rsp\n\t"
|
||||
"movq %xmm3, 0x20(%rsp)\n\t"
|
||||
"movq 0x70(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x28(%rsp)\n\t"
|
||||
"movq 0x78(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x30(%rsp)\n\t"
|
||||
"movq 0x80(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x38(%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
|
||||
"movq %xmm2, %xmm3\n\t"
|
||||
"movq %xmm1, %xmm2\n\t"
|
||||
"movq %xmm0, %xmm1\n\t"
|
||||
"call *%r11\n\t"
|
||||
"addq $0x48, %rsp\n\t"
|
||||
"ret");
|
||||
extern void call_flat_method7_f_f(void);
|
||||
|
||||
__ASM_GLOBAL_FUNC(call_flat_method8_f,
|
||||
"subq $0x48, %rsp\n\t"
|
||||
"movq %r9, 0x20(%rsp)\n\t"
|
||||
"movq 0x70(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x28(%rsp)\n\t"
|
||||
"movq 0x78(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x30(%rsp)\n\t"
|
||||
"movq 0x80(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x38(%rsp)\n\t"
|
||||
"movq 0x88(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x40(%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
|
||||
"movq %xmm2, %xmm3\n\t"
|
||||
"movq %xmm1, %xmm2\n\t"
|
||||
"movq %xmm0, %xmm1\n\t"
|
||||
"call *%r11\n\t"
|
||||
"addq $0x48, %rsp\n\t"
|
||||
"ret");
|
||||
extern void call_flat_method8_f(void);
|
||||
|
||||
__ASM_GLOBAL_FUNC(call_flat_method8_f_f,
|
||||
"subq $0x48, %rsp\n\t"
|
||||
"movq %xmm3, 0x20(%rsp)\n\t"
|
||||
"movq 0x70(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x28(%rsp)\n\t"
|
||||
"movq 0x78(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x30(%rsp)\n\t"
|
||||
"movq 0x80(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x38(%rsp)\n\t"
|
||||
"movq 0x88(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x40(%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
|
||||
"movq %xmm2, %xmm3\n\t"
|
||||
"movq %xmm1, %xmm2\n\t"
|
||||
"movq %xmm0, %xmm1\n\t"
|
||||
"call *%r11\n\t"
|
||||
"addq $0x48, %rsp\n\t"
|
||||
"ret");
|
||||
extern void call_flat_method8_f_f(void);
|
||||
|
||||
__ASM_GLOBAL_FUNC(call_flat_method9_f,
|
||||
"subq $0x58, %rsp\n\t"
|
||||
"movq %r9, 0x20(%rsp)\n\t"
|
||||
"movq 0x80(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x28(%rsp)\n\t"
|
||||
"movq 0x88(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x30(%rsp)\n\t"
|
||||
"movq 0x90(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x38(%rsp)\n\t"
|
||||
"movq 0x98(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x40(%rsp)\n\t"
|
||||
"movq 0xa0(%rsp), %rax\n\t" // copy parameter
|
||||
"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
|
||||
"movq %xmm2, %xmm3\n\t"
|
||||
"movq %xmm1, %xmm2\n\t"
|
||||
"movq %xmm0, %xmm1\n\t"
|
||||
"call *%r11\n\t"
|
||||
"addq $0x58, %rsp\n\t"
|
||||
"ret");
|
||||
extern void call_flat_method9_f(void);
|
||||
|
||||
__ASM_GLOBAL_FUNC(call_flat_method9_f_f,
|
||||
"subq $0x58, %rsp\n\t"
|
||||
"movq %xmm3, 0x20(%rsp)\n\t"
|
||||
"movq 0x80(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x28(%rsp)\n\t"
|
||||
"movq 0x88(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x30(%rsp)\n\t"
|
||||
"movq 0x90(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x38(%rsp)\n\t"
|
||||
"movq 0x98(%rsp), %rax\n\t" // copy parameter
|
||||
"movq %rax, 0x40(%rsp)\n\t"
|
||||
"movq 0xa0(%rsp), %rax\n\t" // copy parameter
|
||||
"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
|
||||
"movq %xmm2, %xmm3\n\t"
|
||||
"movq %xmm1, %xmm2\n\t"
|
||||
"movq %xmm0, %xmm1\n\t"
|
||||
"call *%r11\n\t"
|
||||
"addq $0x58, %rsp\n\t"
|
||||
"ret");
|
||||
extern void call_flat_method9_f_f(void);
|
||||
|
||||
pfn_call_flat_method
|
||||
get_call_flat_method_pfn( int param_count, BOOL has_floats, BOOL is_4th_float )
|
||||
{
|
||||
if (!has_floats)
|
||||
{
|
||||
if (param_count <= 3) return call_flat_method;
|
||||
if (param_count == 4) return call_flat_method4;
|
||||
if (param_count == 5) return call_flat_method5;
|
||||
@ -135,5 +389,23 @@ pfn_call_flat_method get_call_flat_method_pfn( int param_count )
|
||||
if (param_count == 7) return call_flat_method7;
|
||||
if (param_count == 8) return call_flat_method8;
|
||||
return call_flat_method9;
|
||||
}
|
||||
if (is_4th_float)
|
||||
{
|
||||
if (param_count <= 3) return call_flat_method_f;
|
||||
if (param_count == 4) return call_flat_method4_f_f;
|
||||
if (param_count == 5) return call_flat_method5_f_f;
|
||||
if (param_count == 6) return call_flat_method6_f_f;
|
||||
if (param_count == 7) return call_flat_method7_f_f;
|
||||
if (param_count == 8) return call_flat_method8_f_f;
|
||||
return call_flat_method9_f_f;
|
||||
}
|
||||
if (param_count <= 3) return call_flat_method_f;
|
||||
if (param_count == 4) return call_flat_method4_f;
|
||||
if (param_count == 5) return call_flat_method5_f;
|
||||
if (param_count == 6) return call_flat_method6_f;
|
||||
if (param_count == 7) return call_flat_method7_f;
|
||||
if (param_count == 8) return call_flat_method8_f;
|
||||
return call_flat_method9_f;
|
||||
}
|
||||
#endif
|
||||
|
@ -16,7 +16,8 @@ struct thunk
|
||||
|
||||
extern void call_flat_method(void);
|
||||
|
||||
static inline void init_thunk( struct thunk *thunk, void *this, void *proc, int param_count )
|
||||
static inline void init_thunk( struct thunk *thunk, void *this, void *proc,
|
||||
int param_count, BOOL has_floats, BOOL is_4th_float )
|
||||
{
|
||||
thunk->mov_ecx = 0xb9;
|
||||
thunk->this = this;
|
||||
@ -51,14 +52,16 @@ static const struct thunk thunk_template =
|
||||
|
||||
typedef void (*pfn_call_flat_method)(void);
|
||||
|
||||
extern pfn_call_flat_method get_call_flat_method_pfn( int param_count );
|
||||
extern pfn_call_flat_method
|
||||
get_call_flat_method_pfn( int param_count, BOOL has_floats, BOOL is_4th_float );
|
||||
|
||||
static inline void init_thunk( struct thunk *thunk, void *this, void *proc, int param_count )
|
||||
static inline void init_thunk( struct thunk *thunk, void *this, void *proc,
|
||||
int param_count, BOOL has_floats, BOOL is_4th_float )
|
||||
{
|
||||
*thunk = thunk_template;
|
||||
thunk->this = this;
|
||||
thunk->proc = proc;
|
||||
thunk->call_flat = get_call_flat_method_pfn(param_count);
|
||||
thunk->call_flat = get_call_flat_method_pfn(param_count, has_floats, is_4th_float);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -128,9 +128,6 @@ class_versions = {}
|
||||
def get_params(f):
|
||||
return [p for p in f.get_children() if p.kind == clang.cindex.CursorKind.PARM_DECL]
|
||||
|
||||
def get_param_count(f):
|
||||
return len(get_params(f))
|
||||
|
||||
def ivrclientcore_init(cppname, method):
|
||||
if "002" in cppname:
|
||||
return "ivrclientcore_002_init"
|
||||
@ -143,7 +140,7 @@ def ivrclientcore_cleanup(cppname, method):
|
||||
return "ivrclientcore_cleanup"
|
||||
|
||||
def ivrsystem_get_dxgi_output_info(cppname, method):
|
||||
param_count = get_param_count(method)
|
||||
param_count = len(get_params(method))
|
||||
return {
|
||||
1: "get_dxgi_output_info",
|
||||
2: "get_dxgi_output_info2"
|
||||
@ -402,6 +399,15 @@ def get_iface_version(classname):
|
||||
|
||||
max_c_api_param_count = 0
|
||||
|
||||
def get_capi_thunk_params(method):
|
||||
def toBOOL(x):
|
||||
return "TRUE" if x else "FALSE"
|
||||
params = get_params(method)
|
||||
param_count = len(params)
|
||||
has_float_params = any(x.type.spelling == "float" for x in params)
|
||||
is_4th_float = param_count >= 4 and params[3].type.spelling == "float"
|
||||
return "%s, %s, %s" % (param_count, toBOOL(has_float_params), toBOOL(is_4th_float))
|
||||
|
||||
def handle_class(sdkver, classnode):
|
||||
print("handle_class: " + classnode.displayname)
|
||||
children = list(classnode.get_children())
|
||||
@ -466,18 +472,18 @@ WINE_DEFAULT_DEBUG_CHANNEL(vrclient);
|
||||
break
|
||||
cfile.write("} %s;\n\n" % winclassname)
|
||||
methods = []
|
||||
methods_param_count = []
|
||||
method_names = []
|
||||
for child in children:
|
||||
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_param_count.append(get_param_count(child))
|
||||
method_names.append(handle_method(cfile, classnode.spelling, winclassname, cppname, child, cpp, cpp_h, method_names, iface_version))
|
||||
methods.append(child)
|
||||
|
||||
cfile.write("extern vtable_ptr %s_vtable;\n\n" % winclassname)
|
||||
cfile.write("#ifndef __GNUC__\n")
|
||||
cfile.write("void __asm_dummy_vtables(void) {\n")
|
||||
cfile.write("#endif\n")
|
||||
cfile.write(" __ASM_VTABLE(%s,\n" % winclassname)
|
||||
for method in methods:
|
||||
for method in method_names:
|
||||
cfile.write(" VTABLE_ADD_FUNC(%s_%s)\n" % (winclassname, method))
|
||||
cfile.write(" );\n")
|
||||
cfile.write("#ifndef __GNUC__\n")
|
||||
@ -506,10 +512,10 @@ WINE_DEFAULT_DEBUG_CHANNEL(vrclient);
|
||||
cfile.write(" int i;\n\n")
|
||||
cfile.write(" TRACE(\"-> %p, vtable %p, thunks %p\\n\", r, vtable, thunks);\n")
|
||||
for i in range(len(methods)):
|
||||
param_count = methods_param_count[i]
|
||||
thunk_params = get_capi_thunk_params(methods[i])
|
||||
global max_c_api_param_count
|
||||
max_c_api_param_count = max(param_count, max_c_api_param_count)
|
||||
cfile.write(" init_thunk(&thunks[%d], r, %s_%s, %s);\n" % (i, winclassname, methods[i], param_count))
|
||||
max_c_api_param_count = max(len(get_params(methods[i])), max_c_api_param_count)
|
||||
cfile.write(" init_thunk(&thunks[%d], r, %s_%s, %s);\n" % (i, winclassname, method_names[i], thunk_params))
|
||||
cfile.write(" for (i = 0; i < %d; i++)\n" % len(methods))
|
||||
cfile.write(" vtable[i] = &thunks[i];\n")
|
||||
cfile.write(" r->linux_side = linux_side;\n")
|
||||
@ -630,8 +636,10 @@ def handle_struct(sdkver, struct, which):
|
||||
generated_struct_handlers.append(handler_name)
|
||||
|
||||
|
||||
def generate_x64_call_flat_method(cfile, param_count):
|
||||
def generate_x64_call_flat_method(cfile, param_count, has_floats, is_4th_float):
|
||||
assert param_count >= 4
|
||||
if is_4th_float:
|
||||
assert has_floats
|
||||
def l(line):
|
||||
cfile.write(line + '\n')
|
||||
|
||||
@ -641,10 +649,15 @@ def generate_x64_call_flat_method(cfile, param_count):
|
||||
src_offset = 0x20 + 0x8 + stack_space # shadow register space + ret
|
||||
dst_offset = 0x20
|
||||
|
||||
l(r"__ASM_GLOBAL_FUNC(call_flat_method%s," % param_count)
|
||||
name = "call_flat_method%s%s%s" % (param_count, "_f" if has_floats else "", "_f" if is_4th_float else "")
|
||||
|
||||
l(r"__ASM_GLOBAL_FUNC(%s," % name)
|
||||
l(r' "subq $0x%x, %%rsp\n\t"' % stack_space);
|
||||
|
||||
l(r' "movq %%r9, 0x%x(%%rsp)\n\t"' % dst_offset)
|
||||
if is_4th_float:
|
||||
l(r' "movq %%xmm3, 0x%x(%%rsp)\n\t"' % dst_offset)
|
||||
else:
|
||||
l(r' "movq %%r9, 0x%x(%%rsp)\n\t"' % dst_offset)
|
||||
dst_offset += 8
|
||||
|
||||
for i in range(5, param_count + 1):
|
||||
@ -658,10 +671,15 @@ def generate_x64_call_flat_method(cfile, param_count):
|
||||
l(r' "movq %rcx, %rdx\n\t"')
|
||||
l(r' "movq %r10, %rcx\n\t" // add This pointer')
|
||||
|
||||
if has_floats:
|
||||
l(r' "movq %xmm2, %xmm3\n\t"')
|
||||
l(r' "movq %xmm1, %xmm2\n\t"')
|
||||
l(r' "movq %xmm0, %xmm1\n\t"')
|
||||
|
||||
l(r' "call *%r11\n\t"')
|
||||
l(r' "addq $0x%x, %%rsp\n\t"' % stack_space);
|
||||
l(r' "ret");')
|
||||
l(r'extern void call_flat_method%s(void);' % param_count);
|
||||
l(r'extern void %s(void);' % name);
|
||||
|
||||
def generate_flatapi_c():
|
||||
with open("flatapi.c", "w") as f:
|
||||
@ -690,17 +708,48 @@ __ASM_GLOBAL_FUNC(call_flat_method,
|
||||
"movq %r10, %rcx\n\t" // add This pointer
|
||||
"jmp *%r11");
|
||||
extern void call_flat_method(void);
|
||||
|
||||
__ASM_GLOBAL_FUNC(call_flat_method_f,
|
||||
"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
|
||||
"movq %xmm2, %xmm3\n\t"
|
||||
"movq %xmm1, %xmm2\n\t"
|
||||
"movq %xmm0, %xmm1\n\t"
|
||||
"jmp *%r11");
|
||||
extern void call_flat_method_f(void);
|
||||
""")
|
||||
|
||||
for i in range(4, max_c_api_param_count + 1):
|
||||
f.write("\n")
|
||||
generate_x64_call_flat_method(f, i)
|
||||
generate_x64_call_flat_method(f, i, False, False)
|
||||
for i in range(4, max_c_api_param_count + 1):
|
||||
f.write("\n")
|
||||
generate_x64_call_flat_method(f, i, True, False)
|
||||
f.write("\n")
|
||||
generate_x64_call_flat_method(f, i, True, True)
|
||||
|
||||
f.write('\npfn_call_flat_method get_call_flat_method_pfn( int param_count )\n{\n')
|
||||
f.write('\npfn_call_flat_method\n')
|
||||
f.write('get_call_flat_method_pfn( int param_count, BOOL has_floats, BOOL is_4th_float )\n{\n')
|
||||
f.write(' if (!has_floats)\n')
|
||||
f.write(' {\n')
|
||||
f.write(' if (param_count <= 3) return call_flat_method;\n')
|
||||
for i in range(4, max_c_api_param_count):
|
||||
f.write(' if (param_count == %s) return call_flat_method%s;\n' % (i, i))
|
||||
f.write(' return call_flat_method%s;\n' % max_c_api_param_count)
|
||||
f.write(' }\n')
|
||||
f.write(' if (is_4th_float)\n')
|
||||
f.write(' {\n')
|
||||
f.write(' if (param_count <= 3) return call_flat_method_f;\n')
|
||||
for i in range(4, max_c_api_param_count):
|
||||
f.write(' if (param_count == %s) return call_flat_method%s_f_f;\n' % (i, i))
|
||||
f.write(' return call_flat_method%s_f_f;\n' % max_c_api_param_count)
|
||||
f.write(' }\n')
|
||||
f.write(' if (param_count <= 3) return call_flat_method_f;\n')
|
||||
for i in range(4, max_c_api_param_count):
|
||||
f.write(' if (param_count == %s) return call_flat_method%s_f;\n' % (i, i))
|
||||
f.write(' return call_flat_method%s_f;\n' % max_c_api_param_count)
|
||||
f.write('}\n')
|
||||
|
||||
f.write("#endif\n")
|
||||
|
@ -307,37 +307,37 @@ winIVRApplications_IVRApplications_006 *create_winIVRApplications_IVRApplication
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRApplications_IVRApplications_006_AddApplicationManifest, 2);
|
||||
init_thunk(&thunks[1], r, winIVRApplications_IVRApplications_006_RemoveApplicationManifest, 1);
|
||||
init_thunk(&thunks[2], r, winIVRApplications_IVRApplications_006_IsApplicationInstalled, 1);
|
||||
init_thunk(&thunks[3], r, winIVRApplications_IVRApplications_006_GetApplicationCount, 0);
|
||||
init_thunk(&thunks[4], r, winIVRApplications_IVRApplications_006_GetApplicationKeyByIndex, 3);
|
||||
init_thunk(&thunks[5], r, winIVRApplications_IVRApplications_006_GetApplicationKeyByProcessId, 3);
|
||||
init_thunk(&thunks[6], r, winIVRApplications_IVRApplications_006_LaunchApplication, 1);
|
||||
init_thunk(&thunks[7], r, winIVRApplications_IVRApplications_006_LaunchTemplateApplication, 4);
|
||||
init_thunk(&thunks[8], r, winIVRApplications_IVRApplications_006_LaunchApplicationFromMimeType, 2);
|
||||
init_thunk(&thunks[9], r, winIVRApplications_IVRApplications_006_LaunchDashboardOverlay, 1);
|
||||
init_thunk(&thunks[10], r, winIVRApplications_IVRApplications_006_CancelApplicationLaunch, 1);
|
||||
init_thunk(&thunks[11], r, winIVRApplications_IVRApplications_006_IdentifyApplication, 2);
|
||||
init_thunk(&thunks[12], r, winIVRApplications_IVRApplications_006_GetApplicationProcessId, 1);
|
||||
init_thunk(&thunks[13], r, winIVRApplications_IVRApplications_006_GetApplicationsErrorNameFromEnum, 1);
|
||||
init_thunk(&thunks[14], r, winIVRApplications_IVRApplications_006_GetApplicationPropertyString, 5);
|
||||
init_thunk(&thunks[15], r, winIVRApplications_IVRApplications_006_GetApplicationPropertyBool, 3);
|
||||
init_thunk(&thunks[16], r, winIVRApplications_IVRApplications_006_GetApplicationPropertyUint64, 3);
|
||||
init_thunk(&thunks[17], r, winIVRApplications_IVRApplications_006_SetApplicationAutoLaunch, 2);
|
||||
init_thunk(&thunks[18], r, winIVRApplications_IVRApplications_006_GetApplicationAutoLaunch, 1);
|
||||
init_thunk(&thunks[19], r, winIVRApplications_IVRApplications_006_SetDefaultApplicationForMimeType, 2);
|
||||
init_thunk(&thunks[20], r, winIVRApplications_IVRApplications_006_GetDefaultApplicationForMimeType, 3);
|
||||
init_thunk(&thunks[21], r, winIVRApplications_IVRApplications_006_GetApplicationSupportedMimeTypes, 3);
|
||||
init_thunk(&thunks[22], r, winIVRApplications_IVRApplications_006_GetApplicationsThatSupportMimeType, 3);
|
||||
init_thunk(&thunks[23], r, winIVRApplications_IVRApplications_006_GetApplicationLaunchArguments, 3);
|
||||
init_thunk(&thunks[24], r, winIVRApplications_IVRApplications_006_GetStartingApplication, 2);
|
||||
init_thunk(&thunks[25], r, winIVRApplications_IVRApplications_006_GetTransitionState, 0);
|
||||
init_thunk(&thunks[26], r, winIVRApplications_IVRApplications_006_PerformApplicationPrelaunchCheck, 1);
|
||||
init_thunk(&thunks[27], r, winIVRApplications_IVRApplications_006_GetApplicationsTransitionStateNameFromEnum, 1);
|
||||
init_thunk(&thunks[28], r, winIVRApplications_IVRApplications_006_IsQuitUserPromptRequested, 0);
|
||||
init_thunk(&thunks[29], r, winIVRApplications_IVRApplications_006_LaunchInternalProcess, 3);
|
||||
init_thunk(&thunks[30], r, winIVRApplications_IVRApplications_006_GetCurrentSceneProcessId, 0);
|
||||
init_thunk(&thunks[0], r, winIVRApplications_IVRApplications_006_AddApplicationManifest, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRApplications_IVRApplications_006_RemoveApplicationManifest, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRApplications_IVRApplications_006_IsApplicationInstalled, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[3], r, winIVRApplications_IVRApplications_006_GetApplicationCount, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[4], r, winIVRApplications_IVRApplications_006_GetApplicationKeyByIndex, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[5], r, winIVRApplications_IVRApplications_006_GetApplicationKeyByProcessId, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[6], r, winIVRApplications_IVRApplications_006_LaunchApplication, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[7], r, winIVRApplications_IVRApplications_006_LaunchTemplateApplication, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[8], r, winIVRApplications_IVRApplications_006_LaunchApplicationFromMimeType, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[9], r, winIVRApplications_IVRApplications_006_LaunchDashboardOverlay, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[10], r, winIVRApplications_IVRApplications_006_CancelApplicationLaunch, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[11], r, winIVRApplications_IVRApplications_006_IdentifyApplication, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[12], r, winIVRApplications_IVRApplications_006_GetApplicationProcessId, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[13], r, winIVRApplications_IVRApplications_006_GetApplicationsErrorNameFromEnum, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[14], r, winIVRApplications_IVRApplications_006_GetApplicationPropertyString, 5, FALSE, FALSE);
|
||||
init_thunk(&thunks[15], r, winIVRApplications_IVRApplications_006_GetApplicationPropertyBool, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[16], r, winIVRApplications_IVRApplications_006_GetApplicationPropertyUint64, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[17], r, winIVRApplications_IVRApplications_006_SetApplicationAutoLaunch, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[18], r, winIVRApplications_IVRApplications_006_GetApplicationAutoLaunch, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[19], r, winIVRApplications_IVRApplications_006_SetDefaultApplicationForMimeType, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[20], r, winIVRApplications_IVRApplications_006_GetDefaultApplicationForMimeType, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[21], r, winIVRApplications_IVRApplications_006_GetApplicationSupportedMimeTypes, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[22], r, winIVRApplications_IVRApplications_006_GetApplicationsThatSupportMimeType, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[23], r, winIVRApplications_IVRApplications_006_GetApplicationLaunchArguments, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[24], r, winIVRApplications_IVRApplications_006_GetStartingApplication, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[25], r, winIVRApplications_IVRApplications_006_GetTransitionState, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[26], r, winIVRApplications_IVRApplications_006_PerformApplicationPrelaunchCheck, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[27], r, winIVRApplications_IVRApplications_006_GetApplicationsTransitionStateNameFromEnum, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[28], r, winIVRApplications_IVRApplications_006_IsQuitUserPromptRequested, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[29], r, winIVRApplications_IVRApplications_006_LaunchInternalProcess, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[30], r, winIVRApplications_IVRApplications_006_GetCurrentSceneProcessId, 0, FALSE, FALSE);
|
||||
for (i = 0; i < 31; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
@ -587,30 +587,30 @@ winIVRApplications_IVRApplications_005 *create_winIVRApplications_IVRApplication
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRApplications_IVRApplications_005_AddApplicationManifest, 2);
|
||||
init_thunk(&thunks[1], r, winIVRApplications_IVRApplications_005_RemoveApplicationManifest, 1);
|
||||
init_thunk(&thunks[2], r, winIVRApplications_IVRApplications_005_IsApplicationInstalled, 1);
|
||||
init_thunk(&thunks[3], r, winIVRApplications_IVRApplications_005_GetApplicationCount, 0);
|
||||
init_thunk(&thunks[4], r, winIVRApplications_IVRApplications_005_GetApplicationKeyByIndex, 3);
|
||||
init_thunk(&thunks[5], r, winIVRApplications_IVRApplications_005_GetApplicationKeyByProcessId, 3);
|
||||
init_thunk(&thunks[6], r, winIVRApplications_IVRApplications_005_LaunchApplication, 1);
|
||||
init_thunk(&thunks[7], r, winIVRApplications_IVRApplications_005_LaunchTemplateApplication, 4);
|
||||
init_thunk(&thunks[8], r, winIVRApplications_IVRApplications_005_LaunchDashboardOverlay, 1);
|
||||
init_thunk(&thunks[9], r, winIVRApplications_IVRApplications_005_CancelApplicationLaunch, 1);
|
||||
init_thunk(&thunks[10], r, winIVRApplications_IVRApplications_005_IdentifyApplication, 2);
|
||||
init_thunk(&thunks[11], r, winIVRApplications_IVRApplications_005_GetApplicationProcessId, 1);
|
||||
init_thunk(&thunks[12], r, winIVRApplications_IVRApplications_005_GetApplicationsErrorNameFromEnum, 1);
|
||||
init_thunk(&thunks[13], r, winIVRApplications_IVRApplications_005_GetApplicationPropertyString, 5);
|
||||
init_thunk(&thunks[14], r, winIVRApplications_IVRApplications_005_GetApplicationPropertyBool, 3);
|
||||
init_thunk(&thunks[15], r, winIVRApplications_IVRApplications_005_GetApplicationPropertyUint64, 3);
|
||||
init_thunk(&thunks[16], r, winIVRApplications_IVRApplications_005_SetApplicationAutoLaunch, 2);
|
||||
init_thunk(&thunks[17], r, winIVRApplications_IVRApplications_005_GetApplicationAutoLaunch, 1);
|
||||
init_thunk(&thunks[18], r, winIVRApplications_IVRApplications_005_GetStartingApplication, 2);
|
||||
init_thunk(&thunks[19], r, winIVRApplications_IVRApplications_005_GetTransitionState, 0);
|
||||
init_thunk(&thunks[20], r, winIVRApplications_IVRApplications_005_PerformApplicationPrelaunchCheck, 1);
|
||||
init_thunk(&thunks[21], r, winIVRApplications_IVRApplications_005_GetApplicationsTransitionStateNameFromEnum, 1);
|
||||
init_thunk(&thunks[22], r, winIVRApplications_IVRApplications_005_IsQuitUserPromptRequested, 0);
|
||||
init_thunk(&thunks[23], r, winIVRApplications_IVRApplications_005_LaunchInternalProcess, 3);
|
||||
init_thunk(&thunks[0], r, winIVRApplications_IVRApplications_005_AddApplicationManifest, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRApplications_IVRApplications_005_RemoveApplicationManifest, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRApplications_IVRApplications_005_IsApplicationInstalled, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[3], r, winIVRApplications_IVRApplications_005_GetApplicationCount, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[4], r, winIVRApplications_IVRApplications_005_GetApplicationKeyByIndex, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[5], r, winIVRApplications_IVRApplications_005_GetApplicationKeyByProcessId, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[6], r, winIVRApplications_IVRApplications_005_LaunchApplication, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[7], r, winIVRApplications_IVRApplications_005_LaunchTemplateApplication, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[8], r, winIVRApplications_IVRApplications_005_LaunchDashboardOverlay, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[9], r, winIVRApplications_IVRApplications_005_CancelApplicationLaunch, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[10], r, winIVRApplications_IVRApplications_005_IdentifyApplication, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[11], r, winIVRApplications_IVRApplications_005_GetApplicationProcessId, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[12], r, winIVRApplications_IVRApplications_005_GetApplicationsErrorNameFromEnum, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[13], r, winIVRApplications_IVRApplications_005_GetApplicationPropertyString, 5, FALSE, FALSE);
|
||||
init_thunk(&thunks[14], r, winIVRApplications_IVRApplications_005_GetApplicationPropertyBool, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[15], r, winIVRApplications_IVRApplications_005_GetApplicationPropertyUint64, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[16], r, winIVRApplications_IVRApplications_005_SetApplicationAutoLaunch, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[17], r, winIVRApplications_IVRApplications_005_GetApplicationAutoLaunch, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[18], r, winIVRApplications_IVRApplications_005_GetStartingApplication, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[19], r, winIVRApplications_IVRApplications_005_GetTransitionState, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[20], r, winIVRApplications_IVRApplications_005_PerformApplicationPrelaunchCheck, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[21], r, winIVRApplications_IVRApplications_005_GetApplicationsTransitionStateNameFromEnum, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[22], r, winIVRApplications_IVRApplications_005_IsQuitUserPromptRequested, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[23], r, winIVRApplications_IVRApplications_005_LaunchInternalProcess, 3, FALSE, FALSE);
|
||||
for (i = 0; i < 24; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
@ -852,29 +852,29 @@ winIVRApplications_IVRApplications_004 *create_winIVRApplications_IVRApplication
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRApplications_IVRApplications_004_AddApplicationManifest, 2);
|
||||
init_thunk(&thunks[1], r, winIVRApplications_IVRApplications_004_RemoveApplicationManifest, 1);
|
||||
init_thunk(&thunks[2], r, winIVRApplications_IVRApplications_004_IsApplicationInstalled, 1);
|
||||
init_thunk(&thunks[3], r, winIVRApplications_IVRApplications_004_GetApplicationCount, 0);
|
||||
init_thunk(&thunks[4], r, winIVRApplications_IVRApplications_004_GetApplicationKeyByIndex, 3);
|
||||
init_thunk(&thunks[5], r, winIVRApplications_IVRApplications_004_GetApplicationKeyByProcessId, 3);
|
||||
init_thunk(&thunks[6], r, winIVRApplications_IVRApplications_004_LaunchApplication, 1);
|
||||
init_thunk(&thunks[7], r, winIVRApplications_IVRApplications_004_LaunchDashboardOverlay, 1);
|
||||
init_thunk(&thunks[8], r, winIVRApplications_IVRApplications_004_CancelApplicationLaunch, 1);
|
||||
init_thunk(&thunks[9], r, winIVRApplications_IVRApplications_004_IdentifyApplication, 2);
|
||||
init_thunk(&thunks[10], r, winIVRApplications_IVRApplications_004_GetApplicationProcessId, 1);
|
||||
init_thunk(&thunks[11], r, winIVRApplications_IVRApplications_004_GetApplicationsErrorNameFromEnum, 1);
|
||||
init_thunk(&thunks[12], r, winIVRApplications_IVRApplications_004_GetApplicationPropertyString, 5);
|
||||
init_thunk(&thunks[13], r, winIVRApplications_IVRApplications_004_GetApplicationPropertyBool, 3);
|
||||
init_thunk(&thunks[14], r, winIVRApplications_IVRApplications_004_GetApplicationPropertyUint64, 3);
|
||||
init_thunk(&thunks[15], r, winIVRApplications_IVRApplications_004_SetApplicationAutoLaunch, 2);
|
||||
init_thunk(&thunks[16], r, winIVRApplications_IVRApplications_004_GetApplicationAutoLaunch, 1);
|
||||
init_thunk(&thunks[17], r, winIVRApplications_IVRApplications_004_GetStartingApplication, 2);
|
||||
init_thunk(&thunks[18], r, winIVRApplications_IVRApplications_004_GetTransitionState, 0);
|
||||
init_thunk(&thunks[19], r, winIVRApplications_IVRApplications_004_PerformApplicationPrelaunchCheck, 1);
|
||||
init_thunk(&thunks[20], r, winIVRApplications_IVRApplications_004_GetApplicationsTransitionStateNameFromEnum, 1);
|
||||
init_thunk(&thunks[21], r, winIVRApplications_IVRApplications_004_IsQuitUserPromptRequested, 0);
|
||||
init_thunk(&thunks[22], r, winIVRApplications_IVRApplications_004_LaunchInternalProcess, 3);
|
||||
init_thunk(&thunks[0], r, winIVRApplications_IVRApplications_004_AddApplicationManifest, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRApplications_IVRApplications_004_RemoveApplicationManifest, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRApplications_IVRApplications_004_IsApplicationInstalled, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[3], r, winIVRApplications_IVRApplications_004_GetApplicationCount, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[4], r, winIVRApplications_IVRApplications_004_GetApplicationKeyByIndex, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[5], r, winIVRApplications_IVRApplications_004_GetApplicationKeyByProcessId, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[6], r, winIVRApplications_IVRApplications_004_LaunchApplication, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[7], r, winIVRApplications_IVRApplications_004_LaunchDashboardOverlay, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[8], r, winIVRApplications_IVRApplications_004_CancelApplicationLaunch, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[9], r, winIVRApplications_IVRApplications_004_IdentifyApplication, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[10], r, winIVRApplications_IVRApplications_004_GetApplicationProcessId, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[11], r, winIVRApplications_IVRApplications_004_GetApplicationsErrorNameFromEnum, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[12], r, winIVRApplications_IVRApplications_004_GetApplicationPropertyString, 5, FALSE, FALSE);
|
||||
init_thunk(&thunks[13], r, winIVRApplications_IVRApplications_004_GetApplicationPropertyBool, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[14], r, winIVRApplications_IVRApplications_004_GetApplicationPropertyUint64, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[15], r, winIVRApplications_IVRApplications_004_SetApplicationAutoLaunch, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[16], r, winIVRApplications_IVRApplications_004_GetApplicationAutoLaunch, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[17], r, winIVRApplications_IVRApplications_004_GetStartingApplication, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[18], r, winIVRApplications_IVRApplications_004_GetTransitionState, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[19], r, winIVRApplications_IVRApplications_004_PerformApplicationPrelaunchCheck, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[20], r, winIVRApplications_IVRApplications_004_GetApplicationsTransitionStateNameFromEnum, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[21], r, winIVRApplications_IVRApplications_004_IsQuitUserPromptRequested, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[22], r, winIVRApplications_IVRApplications_004_LaunchInternalProcess, 3, FALSE, FALSE);
|
||||
for (i = 0; i < 23; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
@ -1100,27 +1100,27 @@ winIVRApplications_IVRApplications_003 *create_winIVRApplications_IVRApplication
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRApplications_IVRApplications_003_AddApplicationManifest, 2);
|
||||
init_thunk(&thunks[1], r, winIVRApplications_IVRApplications_003_RemoveApplicationManifest, 1);
|
||||
init_thunk(&thunks[2], r, winIVRApplications_IVRApplications_003_IsApplicationInstalled, 1);
|
||||
init_thunk(&thunks[3], r, winIVRApplications_IVRApplications_003_GetApplicationCount, 0);
|
||||
init_thunk(&thunks[4], r, winIVRApplications_IVRApplications_003_GetApplicationKeyByIndex, 3);
|
||||
init_thunk(&thunks[5], r, winIVRApplications_IVRApplications_003_GetApplicationKeyByProcessId, 3);
|
||||
init_thunk(&thunks[6], r, winIVRApplications_IVRApplications_003_LaunchApplication, 1);
|
||||
init_thunk(&thunks[7], r, winIVRApplications_IVRApplications_003_LaunchDashboardOverlay, 1);
|
||||
init_thunk(&thunks[8], r, winIVRApplications_IVRApplications_003_IdentifyApplication, 2);
|
||||
init_thunk(&thunks[9], r, winIVRApplications_IVRApplications_003_GetApplicationProcessId, 1);
|
||||
init_thunk(&thunks[10], r, winIVRApplications_IVRApplications_003_GetApplicationsErrorNameFromEnum, 1);
|
||||
init_thunk(&thunks[11], r, winIVRApplications_IVRApplications_003_GetApplicationPropertyString, 5);
|
||||
init_thunk(&thunks[12], r, winIVRApplications_IVRApplications_003_GetApplicationPropertyBool, 3);
|
||||
init_thunk(&thunks[13], r, winIVRApplications_IVRApplications_003_GetApplicationPropertyUint64, 3);
|
||||
init_thunk(&thunks[14], r, winIVRApplications_IVRApplications_003_SetApplicationAutoLaunch, 2);
|
||||
init_thunk(&thunks[15], r, winIVRApplications_IVRApplications_003_GetApplicationAutoLaunch, 1);
|
||||
init_thunk(&thunks[16], r, winIVRApplications_IVRApplications_003_GetStartingApplication, 2);
|
||||
init_thunk(&thunks[17], r, winIVRApplications_IVRApplications_003_GetTransitionState, 0);
|
||||
init_thunk(&thunks[18], r, winIVRApplications_IVRApplications_003_PerformApplicationPrelaunchCheck, 1);
|
||||
init_thunk(&thunks[19], r, winIVRApplications_IVRApplications_003_GetApplicationsTransitionStateNameFromEnum, 1);
|
||||
init_thunk(&thunks[20], r, winIVRApplications_IVRApplications_003_IsQuitUserPromptRequested, 0);
|
||||
init_thunk(&thunks[0], r, winIVRApplications_IVRApplications_003_AddApplicationManifest, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRApplications_IVRApplications_003_RemoveApplicationManifest, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRApplications_IVRApplications_003_IsApplicationInstalled, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[3], r, winIVRApplications_IVRApplications_003_GetApplicationCount, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[4], r, winIVRApplications_IVRApplications_003_GetApplicationKeyByIndex, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[5], r, winIVRApplications_IVRApplications_003_GetApplicationKeyByProcessId, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[6], r, winIVRApplications_IVRApplications_003_LaunchApplication, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[7], r, winIVRApplications_IVRApplications_003_LaunchDashboardOverlay, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[8], r, winIVRApplications_IVRApplications_003_IdentifyApplication, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[9], r, winIVRApplications_IVRApplications_003_GetApplicationProcessId, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[10], r, winIVRApplications_IVRApplications_003_GetApplicationsErrorNameFromEnum, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[11], r, winIVRApplications_IVRApplications_003_GetApplicationPropertyString, 5, FALSE, FALSE);
|
||||
init_thunk(&thunks[12], r, winIVRApplications_IVRApplications_003_GetApplicationPropertyBool, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[13], r, winIVRApplications_IVRApplications_003_GetApplicationPropertyUint64, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[14], r, winIVRApplications_IVRApplications_003_SetApplicationAutoLaunch, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[15], r, winIVRApplications_IVRApplications_003_GetApplicationAutoLaunch, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[16], r, winIVRApplications_IVRApplications_003_GetStartingApplication, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[17], r, winIVRApplications_IVRApplications_003_GetTransitionState, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[18], r, winIVRApplications_IVRApplications_003_PerformApplicationPrelaunchCheck, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[19], r, winIVRApplications_IVRApplications_003_GetApplicationsTransitionStateNameFromEnum, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[20], r, winIVRApplications_IVRApplications_003_IsQuitUserPromptRequested, 0, FALSE, FALSE);
|
||||
for (i = 0; i < 21; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
@ -1338,26 +1338,26 @@ winIVRApplications_IVRApplications_002 *create_winIVRApplications_IVRApplication
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRApplications_IVRApplications_002_AddApplicationManifest, 2);
|
||||
init_thunk(&thunks[1], r, winIVRApplications_IVRApplications_002_RemoveApplicationManifest, 1);
|
||||
init_thunk(&thunks[2], r, winIVRApplications_IVRApplications_002_IsApplicationInstalled, 1);
|
||||
init_thunk(&thunks[3], r, winIVRApplications_IVRApplications_002_GetApplicationCount, 0);
|
||||
init_thunk(&thunks[4], r, winIVRApplications_IVRApplications_002_GetApplicationKeyByIndex, 3);
|
||||
init_thunk(&thunks[5], r, winIVRApplications_IVRApplications_002_GetApplicationKeyByProcessId, 3);
|
||||
init_thunk(&thunks[6], r, winIVRApplications_IVRApplications_002_LaunchApplication, 1);
|
||||
init_thunk(&thunks[7], r, winIVRApplications_IVRApplications_002_LaunchDashboardOverlay, 1);
|
||||
init_thunk(&thunks[8], r, winIVRApplications_IVRApplications_002_IdentifyApplication, 2);
|
||||
init_thunk(&thunks[9], r, winIVRApplications_IVRApplications_002_GetApplicationProcessId, 1);
|
||||
init_thunk(&thunks[10], r, winIVRApplications_IVRApplications_002_GetApplicationsErrorNameFromEnum, 1);
|
||||
init_thunk(&thunks[11], r, winIVRApplications_IVRApplications_002_GetApplicationPropertyString, 5);
|
||||
init_thunk(&thunks[12], r, winIVRApplications_IVRApplications_002_GetApplicationPropertyBool, 3);
|
||||
init_thunk(&thunks[13], r, winIVRApplications_IVRApplications_002_SetApplicationAutoLaunch, 2);
|
||||
init_thunk(&thunks[14], r, winIVRApplications_IVRApplications_002_GetApplicationAutoLaunch, 1);
|
||||
init_thunk(&thunks[15], r, winIVRApplications_IVRApplications_002_GetStartingApplication, 2);
|
||||
init_thunk(&thunks[16], r, winIVRApplications_IVRApplications_002_GetTransitionState, 0);
|
||||
init_thunk(&thunks[17], r, winIVRApplications_IVRApplications_002_PerformApplicationPrelaunchCheck, 1);
|
||||
init_thunk(&thunks[18], r, winIVRApplications_IVRApplications_002_GetApplicationsTransitionStateNameFromEnum, 1);
|
||||
init_thunk(&thunks[19], r, winIVRApplications_IVRApplications_002_IsQuitUserPromptRequested, 0);
|
||||
init_thunk(&thunks[0], r, winIVRApplications_IVRApplications_002_AddApplicationManifest, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRApplications_IVRApplications_002_RemoveApplicationManifest, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRApplications_IVRApplications_002_IsApplicationInstalled, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[3], r, winIVRApplications_IVRApplications_002_GetApplicationCount, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[4], r, winIVRApplications_IVRApplications_002_GetApplicationKeyByIndex, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[5], r, winIVRApplications_IVRApplications_002_GetApplicationKeyByProcessId, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[6], r, winIVRApplications_IVRApplications_002_LaunchApplication, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[7], r, winIVRApplications_IVRApplications_002_LaunchDashboardOverlay, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[8], r, winIVRApplications_IVRApplications_002_IdentifyApplication, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[9], r, winIVRApplications_IVRApplications_002_GetApplicationProcessId, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[10], r, winIVRApplications_IVRApplications_002_GetApplicationsErrorNameFromEnum, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[11], r, winIVRApplications_IVRApplications_002_GetApplicationPropertyString, 5, FALSE, FALSE);
|
||||
init_thunk(&thunks[12], r, winIVRApplications_IVRApplications_002_GetApplicationPropertyBool, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[13], r, winIVRApplications_IVRApplications_002_SetApplicationAutoLaunch, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[14], r, winIVRApplications_IVRApplications_002_GetApplicationAutoLaunch, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[15], r, winIVRApplications_IVRApplications_002_GetStartingApplication, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[16], r, winIVRApplications_IVRApplications_002_GetTransitionState, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[17], r, winIVRApplications_IVRApplications_002_PerformApplicationPrelaunchCheck, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[18], r, winIVRApplications_IVRApplications_002_GetApplicationsTransitionStateNameFromEnum, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[19], r, winIVRApplications_IVRApplications_002_IsQuitUserPromptRequested, 0, FALSE, FALSE);
|
||||
for (i = 0; i < 20; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
@ -1583,27 +1583,27 @@ winIVRApplications_IVRApplications_001 *create_winIVRApplications_IVRApplication
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRApplications_IVRApplications_001_AddApplicationManifest, 2);
|
||||
init_thunk(&thunks[1], r, winIVRApplications_IVRApplications_001_RemoveApplicationManifest, 1);
|
||||
init_thunk(&thunks[2], r, winIVRApplications_IVRApplications_001_IsApplicationInstalled, 1);
|
||||
init_thunk(&thunks[3], r, winIVRApplications_IVRApplications_001_GetApplicationCount, 0);
|
||||
init_thunk(&thunks[4], r, winIVRApplications_IVRApplications_001_GetApplicationKeyByIndex, 3);
|
||||
init_thunk(&thunks[5], r, winIVRApplications_IVRApplications_001_GetApplicationKeyByProcessId, 3);
|
||||
init_thunk(&thunks[6], r, winIVRApplications_IVRApplications_001_LaunchApplication, 1);
|
||||
init_thunk(&thunks[7], r, winIVRApplications_IVRApplications_001_LaunchDashboardOverlay, 1);
|
||||
init_thunk(&thunks[8], r, winIVRApplications_IVRApplications_001_IdentifyApplication, 2);
|
||||
init_thunk(&thunks[9], r, winIVRApplications_IVRApplications_001_GetApplicationProcessId, 1);
|
||||
init_thunk(&thunks[10], r, winIVRApplications_IVRApplications_001_GetApplicationsErrorNameFromEnum, 1);
|
||||
init_thunk(&thunks[11], r, winIVRApplications_IVRApplications_001_GetApplicationPropertyString, 5);
|
||||
init_thunk(&thunks[12], r, winIVRApplications_IVRApplications_001_GetApplicationPropertyBool, 3);
|
||||
init_thunk(&thunks[13], r, winIVRApplications_IVRApplications_001_GetHomeApplication, 2);
|
||||
init_thunk(&thunks[14], r, winIVRApplications_IVRApplications_001_SetHomeApplication, 1);
|
||||
init_thunk(&thunks[15], r, winIVRApplications_IVRApplications_001_SetApplicationAutoLaunch, 2);
|
||||
init_thunk(&thunks[16], r, winIVRApplications_IVRApplications_001_GetApplicationAutoLaunch, 1);
|
||||
init_thunk(&thunks[17], r, winIVRApplications_IVRApplications_001_GetStartingApplication, 2);
|
||||
init_thunk(&thunks[18], r, winIVRApplications_IVRApplications_001_GetTransitionState, 0);
|
||||
init_thunk(&thunks[19], r, winIVRApplications_IVRApplications_001_PerformApplicationPrelaunchCheck, 1);
|
||||
init_thunk(&thunks[20], r, winIVRApplications_IVRApplications_001_GetApplicationsTransitionStateNameFromEnum, 1);
|
||||
init_thunk(&thunks[0], r, winIVRApplications_IVRApplications_001_AddApplicationManifest, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRApplications_IVRApplications_001_RemoveApplicationManifest, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRApplications_IVRApplications_001_IsApplicationInstalled, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[3], r, winIVRApplications_IVRApplications_001_GetApplicationCount, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[4], r, winIVRApplications_IVRApplications_001_GetApplicationKeyByIndex, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[5], r, winIVRApplications_IVRApplications_001_GetApplicationKeyByProcessId, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[6], r, winIVRApplications_IVRApplications_001_LaunchApplication, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[7], r, winIVRApplications_IVRApplications_001_LaunchDashboardOverlay, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[8], r, winIVRApplications_IVRApplications_001_IdentifyApplication, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[9], r, winIVRApplications_IVRApplications_001_GetApplicationProcessId, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[10], r, winIVRApplications_IVRApplications_001_GetApplicationsErrorNameFromEnum, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[11], r, winIVRApplications_IVRApplications_001_GetApplicationPropertyString, 5, FALSE, FALSE);
|
||||
init_thunk(&thunks[12], r, winIVRApplications_IVRApplications_001_GetApplicationPropertyBool, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[13], r, winIVRApplications_IVRApplications_001_GetHomeApplication, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[14], r, winIVRApplications_IVRApplications_001_SetHomeApplication, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[15], r, winIVRApplications_IVRApplications_001_SetApplicationAutoLaunch, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[16], r, winIVRApplications_IVRApplications_001_GetApplicationAutoLaunch, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[17], r, winIVRApplications_IVRApplications_001_GetStartingApplication, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[18], r, winIVRApplications_IVRApplications_001_GetTransitionState, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[19], r, winIVRApplications_IVRApplications_001_PerformApplicationPrelaunchCheck, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[20], r, winIVRApplications_IVRApplications_001_GetApplicationsTransitionStateNameFromEnum, 1, FALSE, FALSE);
|
||||
for (i = 0; i < 21; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
|
@ -123,14 +123,14 @@ winIVRChaperone_IVRChaperone_003 *create_winIVRChaperone_IVRChaperone_003_FnTabl
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRChaperone_IVRChaperone_003_GetCalibrationState, 0);
|
||||
init_thunk(&thunks[1], r, winIVRChaperone_IVRChaperone_003_GetPlayAreaSize, 2);
|
||||
init_thunk(&thunks[2], r, winIVRChaperone_IVRChaperone_003_GetPlayAreaRect, 1);
|
||||
init_thunk(&thunks[3], r, winIVRChaperone_IVRChaperone_003_ReloadInfo, 0);
|
||||
init_thunk(&thunks[4], r, winIVRChaperone_IVRChaperone_003_SetSceneColor, 1);
|
||||
init_thunk(&thunks[5], r, winIVRChaperone_IVRChaperone_003_GetBoundsColor, 4);
|
||||
init_thunk(&thunks[6], r, winIVRChaperone_IVRChaperone_003_AreBoundsVisible, 0);
|
||||
init_thunk(&thunks[7], r, winIVRChaperone_IVRChaperone_003_ForceBoundsVisible, 1);
|
||||
init_thunk(&thunks[0], r, winIVRChaperone_IVRChaperone_003_GetCalibrationState, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRChaperone_IVRChaperone_003_GetPlayAreaSize, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRChaperone_IVRChaperone_003_GetPlayAreaRect, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[3], r, winIVRChaperone_IVRChaperone_003_ReloadInfo, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[4], r, winIVRChaperone_IVRChaperone_003_SetSceneColor, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[5], r, winIVRChaperone_IVRChaperone_003_GetBoundsColor, 4, TRUE, FALSE);
|
||||
init_thunk(&thunks[6], r, winIVRChaperone_IVRChaperone_003_AreBoundsVisible, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[7], r, winIVRChaperone_IVRChaperone_003_ForceBoundsVisible, 1, FALSE, FALSE);
|
||||
for (i = 0; i < 8; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
@ -260,15 +260,15 @@ winIVRChaperone_IVRChaperone_002 *create_winIVRChaperone_IVRChaperone_002_FnTabl
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRChaperone_IVRChaperone_002_GetCalibrationState, 0);
|
||||
init_thunk(&thunks[1], r, winIVRChaperone_IVRChaperone_002_GetSoftBoundsInfo, 1);
|
||||
init_thunk(&thunks[2], r, winIVRChaperone_IVRChaperone_002_GetHardBoundsInfo, 2);
|
||||
init_thunk(&thunks[3], r, winIVRChaperone_IVRChaperone_002_GetSeatedBoundsInfo, 1);
|
||||
init_thunk(&thunks[4], r, winIVRChaperone_IVRChaperone_002_ReloadInfo, 0);
|
||||
init_thunk(&thunks[5], r, winIVRChaperone_IVRChaperone_002_SetSceneColor, 1);
|
||||
init_thunk(&thunks[6], r, winIVRChaperone_IVRChaperone_002_GetBoundsColor, 2);
|
||||
init_thunk(&thunks[7], r, winIVRChaperone_IVRChaperone_002_AreBoundsVisible, 0);
|
||||
init_thunk(&thunks[8], r, winIVRChaperone_IVRChaperone_002_ForceBoundsVisible, 1);
|
||||
init_thunk(&thunks[0], r, winIVRChaperone_IVRChaperone_002_GetCalibrationState, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRChaperone_IVRChaperone_002_GetSoftBoundsInfo, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRChaperone_IVRChaperone_002_GetHardBoundsInfo, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[3], r, winIVRChaperone_IVRChaperone_002_GetSeatedBoundsInfo, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[4], r, winIVRChaperone_IVRChaperone_002_ReloadInfo, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[5], r, winIVRChaperone_IVRChaperone_002_SetSceneColor, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[6], r, winIVRChaperone_IVRChaperone_002_GetBoundsColor, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[7], r, winIVRChaperone_IVRChaperone_002_AreBoundsVisible, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[8], r, winIVRChaperone_IVRChaperone_002_ForceBoundsVisible, 1, FALSE, FALSE);
|
||||
for (i = 0; i < 9; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
|
@ -219,26 +219,26 @@ winIVRChaperoneSetup_IVRChaperoneSetup_005 *create_winIVRChaperoneSetup_IVRChape
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_CommitWorkingCopy, 1);
|
||||
init_thunk(&thunks[1], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_RevertWorkingCopy, 0);
|
||||
init_thunk(&thunks[2], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetWorkingPlayAreaSize, 2);
|
||||
init_thunk(&thunks[3], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetWorkingPlayAreaRect, 1);
|
||||
init_thunk(&thunks[4], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetWorkingCollisionBoundsInfo, 2);
|
||||
init_thunk(&thunks[5], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetLiveCollisionBoundsInfo, 2);
|
||||
init_thunk(&thunks[6], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetWorkingSeatedZeroPoseToRawTrackingPose, 1);
|
||||
init_thunk(&thunks[7], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetWorkingStandingZeroPoseToRawTrackingPose, 1);
|
||||
init_thunk(&thunks[8], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_SetWorkingPlayAreaSize, 2);
|
||||
init_thunk(&thunks[9], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_SetWorkingCollisionBoundsInfo, 2);
|
||||
init_thunk(&thunks[10], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_SetWorkingSeatedZeroPoseToRawTrackingPose, 1);
|
||||
init_thunk(&thunks[11], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_SetWorkingStandingZeroPoseToRawTrackingPose, 1);
|
||||
init_thunk(&thunks[12], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_ReloadFromDisk, 1);
|
||||
init_thunk(&thunks[13], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetLiveSeatedZeroPoseToRawTrackingPose, 1);
|
||||
init_thunk(&thunks[14], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_SetWorkingCollisionBoundsTagsInfo, 2);
|
||||
init_thunk(&thunks[15], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetLiveCollisionBoundsTagsInfo, 2);
|
||||
init_thunk(&thunks[16], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_SetWorkingPhysicalBoundsInfo, 2);
|
||||
init_thunk(&thunks[17], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetLivePhysicalBoundsInfo, 2);
|
||||
init_thunk(&thunks[18], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_ExportLiveToBuffer, 2);
|
||||
init_thunk(&thunks[19], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_ImportFromBufferToWorking, 2);
|
||||
init_thunk(&thunks[0], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_CommitWorkingCopy, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_RevertWorkingCopy, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetWorkingPlayAreaSize, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[3], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetWorkingPlayAreaRect, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[4], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetWorkingCollisionBoundsInfo, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[5], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetLiveCollisionBoundsInfo, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[6], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetWorkingSeatedZeroPoseToRawTrackingPose, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[7], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetWorkingStandingZeroPoseToRawTrackingPose, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[8], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_SetWorkingPlayAreaSize, 2, TRUE, FALSE);
|
||||
init_thunk(&thunks[9], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_SetWorkingCollisionBoundsInfo, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[10], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_SetWorkingSeatedZeroPoseToRawTrackingPose, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[11], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_SetWorkingStandingZeroPoseToRawTrackingPose, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[12], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_ReloadFromDisk, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[13], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetLiveSeatedZeroPoseToRawTrackingPose, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[14], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_SetWorkingCollisionBoundsTagsInfo, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[15], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetLiveCollisionBoundsTagsInfo, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[16], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_SetWorkingPhysicalBoundsInfo, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[17], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_GetLivePhysicalBoundsInfo, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[18], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_ExportLiveToBuffer, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[19], r, winIVRChaperoneSetup_IVRChaperoneSetup_005_ImportFromBufferToWorking, 2, FALSE, FALSE);
|
||||
for (i = 0; i < 20; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
@ -424,22 +424,22 @@ winIVRChaperoneSetup_IVRChaperoneSetup_004 *create_winIVRChaperoneSetup_IVRChape
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_CommitWorkingCopy, 1);
|
||||
init_thunk(&thunks[1], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_RevertWorkingCopy, 0);
|
||||
init_thunk(&thunks[2], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetWorkingPlayAreaSize, 2);
|
||||
init_thunk(&thunks[3], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetWorkingPlayAreaRect, 1);
|
||||
init_thunk(&thunks[4], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetWorkingCollisionBoundsInfo, 2);
|
||||
init_thunk(&thunks[5], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetLiveCollisionBoundsInfo, 2);
|
||||
init_thunk(&thunks[6], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetWorkingSeatedZeroPoseToRawTrackingPose, 1);
|
||||
init_thunk(&thunks[7], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetWorkingStandingZeroPoseToRawTrackingPose, 1);
|
||||
init_thunk(&thunks[8], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_SetWorkingPlayAreaSize, 2);
|
||||
init_thunk(&thunks[9], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_SetWorkingCollisionBoundsInfo, 2);
|
||||
init_thunk(&thunks[10], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_SetWorkingSeatedZeroPoseToRawTrackingPose, 1);
|
||||
init_thunk(&thunks[11], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_SetWorkingStandingZeroPoseToRawTrackingPose, 1);
|
||||
init_thunk(&thunks[12], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_ReloadFromDisk, 1);
|
||||
init_thunk(&thunks[13], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetLiveSeatedZeroPoseToRawTrackingPose, 1);
|
||||
init_thunk(&thunks[14], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_SetWorkingWallTagInfo, 2);
|
||||
init_thunk(&thunks[15], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetLiveWallTagInfo, 2);
|
||||
init_thunk(&thunks[0], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_CommitWorkingCopy, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_RevertWorkingCopy, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetWorkingPlayAreaSize, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[3], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetWorkingPlayAreaRect, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[4], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetWorkingCollisionBoundsInfo, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[5], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetLiveCollisionBoundsInfo, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[6], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetWorkingSeatedZeroPoseToRawTrackingPose, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[7], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetWorkingStandingZeroPoseToRawTrackingPose, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[8], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_SetWorkingPlayAreaSize, 2, TRUE, FALSE);
|
||||
init_thunk(&thunks[9], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_SetWorkingCollisionBoundsInfo, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[10], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_SetWorkingSeatedZeroPoseToRawTrackingPose, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[11], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_SetWorkingStandingZeroPoseToRawTrackingPose, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[12], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_ReloadFromDisk, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[13], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetLiveSeatedZeroPoseToRawTrackingPose, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[14], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_SetWorkingWallTagInfo, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[15], r, winIVRChaperoneSetup_IVRChaperoneSetup_004_GetLiveWallTagInfo, 2, FALSE, FALSE);
|
||||
for (i = 0; i < 16; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
|
@ -116,13 +116,13 @@ winIVRClientCore_IVRClientCore_003 *create_winIVRClientCore_IVRClientCore_003_Fn
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRClientCore_IVRClientCore_003_Init, 2);
|
||||
init_thunk(&thunks[1], r, winIVRClientCore_IVRClientCore_003_Cleanup, 0);
|
||||
init_thunk(&thunks[2], r, winIVRClientCore_IVRClientCore_003_IsInterfaceVersionValid, 1);
|
||||
init_thunk(&thunks[3], r, winIVRClientCore_IVRClientCore_003_GetGenericInterface, 2);
|
||||
init_thunk(&thunks[4], r, winIVRClientCore_IVRClientCore_003_BIsHmdPresent, 0);
|
||||
init_thunk(&thunks[5], r, winIVRClientCore_IVRClientCore_003_GetEnglishStringForHmdError, 1);
|
||||
init_thunk(&thunks[6], r, winIVRClientCore_IVRClientCore_003_GetIDForVRInitError, 1);
|
||||
init_thunk(&thunks[0], r, winIVRClientCore_IVRClientCore_003_Init, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRClientCore_IVRClientCore_003_Cleanup, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRClientCore_IVRClientCore_003_IsInterfaceVersionValid, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[3], r, winIVRClientCore_IVRClientCore_003_GetGenericInterface, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[4], r, winIVRClientCore_IVRClientCore_003_BIsHmdPresent, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[5], r, winIVRClientCore_IVRClientCore_003_GetEnglishStringForHmdError, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[6], r, winIVRClientCore_IVRClientCore_003_GetIDForVRInitError, 1, FALSE, FALSE);
|
||||
for (i = 0; i < 7; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
@ -237,13 +237,13 @@ winIVRClientCore_IVRClientCore_002 *create_winIVRClientCore_IVRClientCore_002_Fn
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRClientCore_IVRClientCore_002_Init, 1);
|
||||
init_thunk(&thunks[1], r, winIVRClientCore_IVRClientCore_002_Cleanup, 0);
|
||||
init_thunk(&thunks[2], r, winIVRClientCore_IVRClientCore_002_IsInterfaceVersionValid, 1);
|
||||
init_thunk(&thunks[3], r, winIVRClientCore_IVRClientCore_002_GetGenericInterface, 2);
|
||||
init_thunk(&thunks[4], r, winIVRClientCore_IVRClientCore_002_BIsHmdPresent, 0);
|
||||
init_thunk(&thunks[5], r, winIVRClientCore_IVRClientCore_002_GetEnglishStringForHmdError, 1);
|
||||
init_thunk(&thunks[6], r, winIVRClientCore_IVRClientCore_002_GetIDForVRInitError, 1);
|
||||
init_thunk(&thunks[0], r, winIVRClientCore_IVRClientCore_002_Init, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRClientCore_IVRClientCore_002_Cleanup, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRClientCore_IVRClientCore_002_IsInterfaceVersionValid, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[3], r, winIVRClientCore_IVRClientCore_002_GetGenericInterface, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[4], r, winIVRClientCore_IVRClientCore_002_BIsHmdPresent, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[5], r, winIVRClientCore_IVRClientCore_002_GetEnglishStringForHmdError, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[6], r, winIVRClientCore_IVRClientCore_002_GetIDForVRInitError, 1, FALSE, FALSE);
|
||||
for (i = 0; i < 7; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -83,9 +83,9 @@ winIVRDriverManager_IVRDriverManager_001 *create_winIVRDriverManager_IVRDriverMa
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRDriverManager_IVRDriverManager_001_GetDriverCount, 0);
|
||||
init_thunk(&thunks[1], r, winIVRDriverManager_IVRDriverManager_001_GetDriverName, 3);
|
||||
init_thunk(&thunks[2], r, winIVRDriverManager_IVRDriverManager_001_GetDriverHandle, 1);
|
||||
init_thunk(&thunks[0], r, winIVRDriverManager_IVRDriverManager_001_GetDriverCount, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRDriverManager_IVRDriverManager_001_GetDriverName, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRDriverManager_IVRDriverManager_001_GetDriverHandle, 1, FALSE, FALSE);
|
||||
for (i = 0; i < 3; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
|
@ -83,9 +83,9 @@ winIVRExtendedDisplay_IVRExtendedDisplay_001 *create_winIVRExtendedDisplay_IVREx
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRExtendedDisplay_IVRExtendedDisplay_001_GetWindowBounds, 4);
|
||||
init_thunk(&thunks[1], r, winIVRExtendedDisplay_IVRExtendedDisplay_001_GetEyeOutputViewport, 5);
|
||||
init_thunk(&thunks[2], r, winIVRExtendedDisplay_IVRExtendedDisplay_001_GetDXGIOutputInfo, 2);
|
||||
init_thunk(&thunks[0], r, winIVRExtendedDisplay_IVRExtendedDisplay_001_GetWindowBounds, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRExtendedDisplay_IVRExtendedDisplay_001_GetEyeOutputViewport, 5, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRExtendedDisplay_IVRExtendedDisplay_001_GetDXGIOutputInfo, 2, FALSE, FALSE);
|
||||
for (i = 0; i < 3; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
|
@ -99,11 +99,11 @@ winIVRIOBuffer_IVRIOBuffer_001 *create_winIVRIOBuffer_IVRIOBuffer_001_FnTable(vo
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRIOBuffer_IVRIOBuffer_001_Open, 5);
|
||||
init_thunk(&thunks[1], r, winIVRIOBuffer_IVRIOBuffer_001_Close, 1);
|
||||
init_thunk(&thunks[2], r, winIVRIOBuffer_IVRIOBuffer_001_Read, 4);
|
||||
init_thunk(&thunks[3], r, winIVRIOBuffer_IVRIOBuffer_001_Write, 3);
|
||||
init_thunk(&thunks[4], r, winIVRIOBuffer_IVRIOBuffer_001_PropertyContainer, 1);
|
||||
init_thunk(&thunks[0], r, winIVRIOBuffer_IVRIOBuffer_001_Open, 5, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRIOBuffer_IVRIOBuffer_001_Close, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRIOBuffer_IVRIOBuffer_001_Read, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[3], r, winIVRIOBuffer_IVRIOBuffer_001_Write, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[4], r, winIVRIOBuffer_IVRIOBuffer_001_PropertyContainer, 1, FALSE, FALSE);
|
||||
for (i = 0; i < 5; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
|
@ -195,23 +195,23 @@ winIVRInput_IVRInput_003 *create_winIVRInput_IVRInput_003_FnTable(void *linux_si
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRInput_IVRInput_003_SetActionManifestPath, 1);
|
||||
init_thunk(&thunks[1], r, winIVRInput_IVRInput_003_GetActionSetHandle, 2);
|
||||
init_thunk(&thunks[2], r, winIVRInput_IVRInput_003_GetActionHandle, 2);
|
||||
init_thunk(&thunks[3], r, winIVRInput_IVRInput_003_GetInputSourceHandle, 2);
|
||||
init_thunk(&thunks[4], r, winIVRInput_IVRInput_003_UpdateActionState, 3);
|
||||
init_thunk(&thunks[5], r, winIVRInput_IVRInput_003_GetDigitalActionData, 3);
|
||||
init_thunk(&thunks[6], r, winIVRInput_IVRInput_003_GetAnalogActionData, 3);
|
||||
init_thunk(&thunks[7], r, winIVRInput_IVRInput_003_GetPoseActionData, 5);
|
||||
init_thunk(&thunks[8], r, winIVRInput_IVRInput_003_GetSkeletalActionData, 7);
|
||||
init_thunk(&thunks[9], r, winIVRInput_IVRInput_003_GetSkeletalActionDataCompressed, 6);
|
||||
init_thunk(&thunks[10], r, winIVRInput_IVRInput_003_UncompressSkeletalActionData, 5);
|
||||
init_thunk(&thunks[11], r, winIVRInput_IVRInput_003_TriggerHapticVibrationAction, 5);
|
||||
init_thunk(&thunks[12], r, winIVRInput_IVRInput_003_GetActionOrigins, 4);
|
||||
init_thunk(&thunks[13], r, winIVRInput_IVRInput_003_GetOriginLocalizedName, 3);
|
||||
init_thunk(&thunks[14], r, winIVRInput_IVRInput_003_GetOriginTrackedDeviceInfo, 3);
|
||||
init_thunk(&thunks[15], r, winIVRInput_IVRInput_003_ShowActionOrigins, 2);
|
||||
init_thunk(&thunks[16], r, winIVRInput_IVRInput_003_ShowBindingsForActionSet, 4);
|
||||
init_thunk(&thunks[0], r, winIVRInput_IVRInput_003_SetActionManifestPath, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRInput_IVRInput_003_GetActionSetHandle, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRInput_IVRInput_003_GetActionHandle, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[3], r, winIVRInput_IVRInput_003_GetInputSourceHandle, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[4], r, winIVRInput_IVRInput_003_UpdateActionState, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[5], r, winIVRInput_IVRInput_003_GetDigitalActionData, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[6], r, winIVRInput_IVRInput_003_GetAnalogActionData, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[7], r, winIVRInput_IVRInput_003_GetPoseActionData, 5, TRUE, FALSE);
|
||||
init_thunk(&thunks[8], r, winIVRInput_IVRInput_003_GetSkeletalActionData, 7, TRUE, FALSE);
|
||||
init_thunk(&thunks[9], r, winIVRInput_IVRInput_003_GetSkeletalActionDataCompressed, 6, TRUE, FALSE);
|
||||
init_thunk(&thunks[10], r, winIVRInput_IVRInput_003_UncompressSkeletalActionData, 5, FALSE, FALSE);
|
||||
init_thunk(&thunks[11], r, winIVRInput_IVRInput_003_TriggerHapticVibrationAction, 5, TRUE, TRUE);
|
||||
init_thunk(&thunks[12], r, winIVRInput_IVRInput_003_GetActionOrigins, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[13], r, winIVRInput_IVRInput_003_GetOriginLocalizedName, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[14], r, winIVRInput_IVRInput_003_GetOriginTrackedDeviceInfo, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[15], r, winIVRInput_IVRInput_003_ShowActionOrigins, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[16], r, winIVRInput_IVRInput_003_ShowBindingsForActionSet, 4, FALSE, FALSE);
|
||||
for (i = 0; i < 17; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
|
@ -75,8 +75,8 @@ winIVRNotifications_IVRNotifications_002 *create_winIVRNotifications_IVRNotifica
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRNotifications_IVRNotifications_002_CreateNotification, 7);
|
||||
init_thunk(&thunks[1], r, winIVRNotifications_IVRNotifications_002_RemoveNotification, 1);
|
||||
init_thunk(&thunks[0], r, winIVRNotifications_IVRNotifications_002_CreateNotification, 7, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRNotifications_IVRNotifications_002_RemoveNotification, 1, FALSE, FALSE);
|
||||
for (i = 0; i < 2; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
@ -158,9 +158,9 @@ winIVRNotifications_IVRNotifications_001 *create_winIVRNotifications_IVRNotifica
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRNotifications_IVRNotifications_001_GetErrorString, 3);
|
||||
init_thunk(&thunks[1], r, winIVRNotifications_IVRNotifications_001_CreateNotification, 7);
|
||||
init_thunk(&thunks[2], r, winIVRNotifications_IVRNotifications_001_DismissNotification, 1);
|
||||
init_thunk(&thunks[0], r, winIVRNotifications_IVRNotifications_001_GetErrorString, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRNotifications_IVRNotifications_001_CreateNotification, 7, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRNotifications_IVRNotifications_001_DismissNotification, 1, FALSE, FALSE);
|
||||
for (i = 0; i < 3; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -203,24 +203,24 @@ winIVRRenderModels_IVRRenderModels_005 *create_winIVRRenderModels_IVRRenderModel
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRRenderModels_IVRRenderModels_005_LoadRenderModel_Async, 2);
|
||||
init_thunk(&thunks[1], r, winIVRRenderModels_IVRRenderModels_005_FreeRenderModel, 1);
|
||||
init_thunk(&thunks[2], r, winIVRRenderModels_IVRRenderModels_005_LoadTexture_Async, 2);
|
||||
init_thunk(&thunks[3], r, winIVRRenderModels_IVRRenderModels_005_FreeTexture, 1);
|
||||
init_thunk(&thunks[4], r, winIVRRenderModels_IVRRenderModels_005_LoadTextureD3D11_Async, 3);
|
||||
init_thunk(&thunks[5], r, winIVRRenderModels_IVRRenderModels_005_LoadIntoTextureD3D11_Async, 2);
|
||||
init_thunk(&thunks[6], r, winIVRRenderModels_IVRRenderModels_005_FreeTextureD3D11, 1);
|
||||
init_thunk(&thunks[7], r, winIVRRenderModels_IVRRenderModels_005_GetRenderModelName, 3);
|
||||
init_thunk(&thunks[8], r, winIVRRenderModels_IVRRenderModels_005_GetRenderModelCount, 0);
|
||||
init_thunk(&thunks[9], r, winIVRRenderModels_IVRRenderModels_005_GetComponentCount, 1);
|
||||
init_thunk(&thunks[10], r, winIVRRenderModels_IVRRenderModels_005_GetComponentName, 4);
|
||||
init_thunk(&thunks[11], r, winIVRRenderModels_IVRRenderModels_005_GetComponentButtonMask, 2);
|
||||
init_thunk(&thunks[12], r, winIVRRenderModels_IVRRenderModels_005_GetComponentRenderModelName, 4);
|
||||
init_thunk(&thunks[13], r, winIVRRenderModels_IVRRenderModels_005_GetComponentState, 5);
|
||||
init_thunk(&thunks[14], r, winIVRRenderModels_IVRRenderModels_005_RenderModelHasComponent, 2);
|
||||
init_thunk(&thunks[15], r, winIVRRenderModels_IVRRenderModels_005_GetRenderModelThumbnailURL, 4);
|
||||
init_thunk(&thunks[16], r, winIVRRenderModels_IVRRenderModels_005_GetRenderModelOriginalPath, 4);
|
||||
init_thunk(&thunks[17], r, winIVRRenderModels_IVRRenderModels_005_GetRenderModelErrorNameFromEnum, 1);
|
||||
init_thunk(&thunks[0], r, winIVRRenderModels_IVRRenderModels_005_LoadRenderModel_Async, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRRenderModels_IVRRenderModels_005_FreeRenderModel, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRRenderModels_IVRRenderModels_005_LoadTexture_Async, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[3], r, winIVRRenderModels_IVRRenderModels_005_FreeTexture, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[4], r, winIVRRenderModels_IVRRenderModels_005_LoadTextureD3D11_Async, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[5], r, winIVRRenderModels_IVRRenderModels_005_LoadIntoTextureD3D11_Async, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[6], r, winIVRRenderModels_IVRRenderModels_005_FreeTextureD3D11, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[7], r, winIVRRenderModels_IVRRenderModels_005_GetRenderModelName, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[8], r, winIVRRenderModels_IVRRenderModels_005_GetRenderModelCount, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[9], r, winIVRRenderModels_IVRRenderModels_005_GetComponentCount, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[10], r, winIVRRenderModels_IVRRenderModels_005_GetComponentName, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[11], r, winIVRRenderModels_IVRRenderModels_005_GetComponentButtonMask, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[12], r, winIVRRenderModels_IVRRenderModels_005_GetComponentRenderModelName, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[13], r, winIVRRenderModels_IVRRenderModels_005_GetComponentState, 5, FALSE, FALSE);
|
||||
init_thunk(&thunks[14], r, winIVRRenderModels_IVRRenderModels_005_RenderModelHasComponent, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[15], r, winIVRRenderModels_IVRRenderModels_005_GetRenderModelThumbnailURL, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[16], r, winIVRRenderModels_IVRRenderModels_005_GetRenderModelOriginalPath, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[17], r, winIVRRenderModels_IVRRenderModels_005_GetRenderModelErrorNameFromEnum, 1, FALSE, FALSE);
|
||||
for (i = 0; i < 18; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
@ -390,20 +390,20 @@ winIVRRenderModels_IVRRenderModels_004 *create_winIVRRenderModels_IVRRenderModel
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRRenderModels_IVRRenderModels_004_LoadRenderModel_Async, 2);
|
||||
init_thunk(&thunks[1], r, winIVRRenderModels_IVRRenderModels_004_FreeRenderModel, 1);
|
||||
init_thunk(&thunks[2], r, winIVRRenderModels_IVRRenderModels_004_LoadTexture_Async, 2);
|
||||
init_thunk(&thunks[3], r, winIVRRenderModels_IVRRenderModels_004_FreeTexture, 1);
|
||||
init_thunk(&thunks[4], r, winIVRRenderModels_IVRRenderModels_004_LoadTextureD3D11_Async, 3);
|
||||
init_thunk(&thunks[5], r, winIVRRenderModels_IVRRenderModels_004_FreeTextureD3D11, 1);
|
||||
init_thunk(&thunks[6], r, winIVRRenderModels_IVRRenderModels_004_GetRenderModelName, 3);
|
||||
init_thunk(&thunks[7], r, winIVRRenderModels_IVRRenderModels_004_GetRenderModelCount, 0);
|
||||
init_thunk(&thunks[8], r, winIVRRenderModels_IVRRenderModels_004_GetComponentCount, 1);
|
||||
init_thunk(&thunks[9], r, winIVRRenderModels_IVRRenderModels_004_GetComponentName, 4);
|
||||
init_thunk(&thunks[10], r, winIVRRenderModels_IVRRenderModels_004_GetComponentButtonMask, 2);
|
||||
init_thunk(&thunks[11], r, winIVRRenderModels_IVRRenderModels_004_GetComponentRenderModelName, 4);
|
||||
init_thunk(&thunks[12], r, winIVRRenderModels_IVRRenderModels_004_GetComponentState, 5);
|
||||
init_thunk(&thunks[13], r, winIVRRenderModels_IVRRenderModels_004_RenderModelHasComponent, 2);
|
||||
init_thunk(&thunks[0], r, winIVRRenderModels_IVRRenderModels_004_LoadRenderModel_Async, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRRenderModels_IVRRenderModels_004_FreeRenderModel, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRRenderModels_IVRRenderModels_004_LoadTexture_Async, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[3], r, winIVRRenderModels_IVRRenderModels_004_FreeTexture, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[4], r, winIVRRenderModels_IVRRenderModels_004_LoadTextureD3D11_Async, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[5], r, winIVRRenderModels_IVRRenderModels_004_FreeTextureD3D11, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[6], r, winIVRRenderModels_IVRRenderModels_004_GetRenderModelName, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[7], r, winIVRRenderModels_IVRRenderModels_004_GetRenderModelCount, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[8], r, winIVRRenderModels_IVRRenderModels_004_GetComponentCount, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[9], r, winIVRRenderModels_IVRRenderModels_004_GetComponentName, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[10], r, winIVRRenderModels_IVRRenderModels_004_GetComponentButtonMask, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[11], r, winIVRRenderModels_IVRRenderModels_004_GetComponentRenderModelName, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[12], r, winIVRRenderModels_IVRRenderModels_004_GetComponentState, 5, FALSE, FALSE);
|
||||
init_thunk(&thunks[13], r, winIVRRenderModels_IVRRenderModels_004_RenderModelHasComponent, 2, FALSE, FALSE);
|
||||
for (i = 0; i < 14; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
@ -557,18 +557,18 @@ winIVRRenderModels_IVRRenderModels_002 *create_winIVRRenderModels_IVRRenderModel
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRRenderModels_IVRRenderModels_002_LoadRenderModel, 2);
|
||||
init_thunk(&thunks[1], r, winIVRRenderModels_IVRRenderModels_002_FreeRenderModel, 1);
|
||||
init_thunk(&thunks[2], r, winIVRRenderModels_IVRRenderModels_002_LoadTexture, 2);
|
||||
init_thunk(&thunks[3], r, winIVRRenderModels_IVRRenderModels_002_FreeTexture, 1);
|
||||
init_thunk(&thunks[4], r, winIVRRenderModels_IVRRenderModels_002_GetRenderModelName, 3);
|
||||
init_thunk(&thunks[5], r, winIVRRenderModels_IVRRenderModels_002_GetRenderModelCount, 0);
|
||||
init_thunk(&thunks[6], r, winIVRRenderModels_IVRRenderModels_002_GetComponentCount, 1);
|
||||
init_thunk(&thunks[7], r, winIVRRenderModels_IVRRenderModels_002_GetComponentName, 4);
|
||||
init_thunk(&thunks[8], r, winIVRRenderModels_IVRRenderModels_002_GetComponentButtonMask, 2);
|
||||
init_thunk(&thunks[9], r, winIVRRenderModels_IVRRenderModels_002_GetComponentRenderModelName, 4);
|
||||
init_thunk(&thunks[10], r, winIVRRenderModels_IVRRenderModels_002_GetComponentState, 4);
|
||||
init_thunk(&thunks[11], r, winIVRRenderModels_IVRRenderModels_002_RenderModelHasComponent, 2);
|
||||
init_thunk(&thunks[0], r, winIVRRenderModels_IVRRenderModels_002_LoadRenderModel, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRRenderModels_IVRRenderModels_002_FreeRenderModel, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRRenderModels_IVRRenderModels_002_LoadTexture, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[3], r, winIVRRenderModels_IVRRenderModels_002_FreeTexture, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[4], r, winIVRRenderModels_IVRRenderModels_002_GetRenderModelName, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[5], r, winIVRRenderModels_IVRRenderModels_002_GetRenderModelCount, 0, FALSE, FALSE);
|
||||
init_thunk(&thunks[6], r, winIVRRenderModels_IVRRenderModels_002_GetComponentCount, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[7], r, winIVRRenderModels_IVRRenderModels_002_GetComponentName, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[8], r, winIVRRenderModels_IVRRenderModels_002_GetComponentButtonMask, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[9], r, winIVRRenderModels_IVRRenderModels_002_GetComponentRenderModelName, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[10], r, winIVRRenderModels_IVRRenderModels_002_GetComponentState, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[11], r, winIVRRenderModels_IVRRenderModels_002_RenderModelHasComponent, 2, FALSE, FALSE);
|
||||
for (i = 0; i < 12; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
@ -658,10 +658,10 @@ winIVRRenderModels_IVRRenderModels_001 *create_winIVRRenderModels_IVRRenderModel
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRRenderModels_IVRRenderModels_001_LoadRenderModel, 2);
|
||||
init_thunk(&thunks[1], r, winIVRRenderModels_IVRRenderModels_001_FreeRenderModel, 1);
|
||||
init_thunk(&thunks[2], r, winIVRRenderModels_IVRRenderModels_001_GetRenderModelName, 3);
|
||||
init_thunk(&thunks[3], r, winIVRRenderModels_IVRRenderModels_001_GetRenderModelCount, 0);
|
||||
init_thunk(&thunks[0], r, winIVRRenderModels_IVRRenderModels_001_LoadRenderModel, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRRenderModels_IVRRenderModels_001_FreeRenderModel, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRRenderModels_IVRRenderModels_001_GetRenderModelName, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[3], r, winIVRRenderModels_IVRRenderModels_001_GetRenderModelCount, 0, FALSE, FALSE);
|
||||
for (i = 0; i < 4; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
|
@ -75,8 +75,8 @@ winIVRResources_IVRResources_001 *create_winIVRResources_IVRResources_001_FnTabl
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRResources_IVRResources_001_LoadSharedResource, 3);
|
||||
init_thunk(&thunks[1], r, winIVRResources_IVRResources_001_GetResourceFullPath, 4);
|
||||
init_thunk(&thunks[0], r, winIVRResources_IVRResources_001_LoadSharedResource, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRResources_IVRResources_001_GetResourceFullPath, 4, FALSE, FALSE);
|
||||
for (i = 0; i < 2; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
|
@ -115,13 +115,13 @@ winIVRScreenshots_IVRScreenshots_001 *create_winIVRScreenshots_IVRScreenshots_00
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRScreenshots_IVRScreenshots_001_RequestScreenshot, 4);
|
||||
init_thunk(&thunks[1], r, winIVRScreenshots_IVRScreenshots_001_HookScreenshot, 2);
|
||||
init_thunk(&thunks[2], r, winIVRScreenshots_IVRScreenshots_001_GetScreenshotPropertyType, 2);
|
||||
init_thunk(&thunks[3], r, winIVRScreenshots_IVRScreenshots_001_GetScreenshotPropertyFilename, 5);
|
||||
init_thunk(&thunks[4], r, winIVRScreenshots_IVRScreenshots_001_UpdateScreenshotProgress, 2);
|
||||
init_thunk(&thunks[5], r, winIVRScreenshots_IVRScreenshots_001_TakeStereoScreenshot, 3);
|
||||
init_thunk(&thunks[6], r, winIVRScreenshots_IVRScreenshots_001_SubmitScreenshot, 4);
|
||||
init_thunk(&thunks[0], r, winIVRScreenshots_IVRScreenshots_001_RequestScreenshot, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRScreenshots_IVRScreenshots_001_HookScreenshot, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRScreenshots_IVRScreenshots_001_GetScreenshotPropertyType, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[3], r, winIVRScreenshots_IVRScreenshots_001_GetScreenshotPropertyFilename, 5, FALSE, FALSE);
|
||||
init_thunk(&thunks[4], r, winIVRScreenshots_IVRScreenshots_001_UpdateScreenshotProgress, 2, TRUE, FALSE);
|
||||
init_thunk(&thunks[5], r, winIVRScreenshots_IVRScreenshots_001_TakeStereoScreenshot, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[6], r, winIVRScreenshots_IVRScreenshots_001_SubmitScreenshot, 4, FALSE, FALSE);
|
||||
for (i = 0; i < 7; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
|
@ -155,18 +155,18 @@ winIVRSettings_IVRSettings_002 *create_winIVRSettings_IVRSettings_002_FnTable(vo
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRSettings_IVRSettings_002_GetSettingsErrorNameFromEnum, 1);
|
||||
init_thunk(&thunks[1], r, winIVRSettings_IVRSettings_002_Sync, 2);
|
||||
init_thunk(&thunks[2], r, winIVRSettings_IVRSettings_002_SetBool, 4);
|
||||
init_thunk(&thunks[3], r, winIVRSettings_IVRSettings_002_SetInt32, 4);
|
||||
init_thunk(&thunks[4], r, winIVRSettings_IVRSettings_002_SetFloat, 4);
|
||||
init_thunk(&thunks[5], r, winIVRSettings_IVRSettings_002_SetString, 4);
|
||||
init_thunk(&thunks[6], r, winIVRSettings_IVRSettings_002_GetBool, 3);
|
||||
init_thunk(&thunks[7], r, winIVRSettings_IVRSettings_002_GetInt32, 3);
|
||||
init_thunk(&thunks[8], r, winIVRSettings_IVRSettings_002_GetFloat, 3);
|
||||
init_thunk(&thunks[9], r, winIVRSettings_IVRSettings_002_GetString, 5);
|
||||
init_thunk(&thunks[10], r, winIVRSettings_IVRSettings_002_RemoveSection, 2);
|
||||
init_thunk(&thunks[11], r, winIVRSettings_IVRSettings_002_RemoveKeyInSection, 3);
|
||||
init_thunk(&thunks[0], r, winIVRSettings_IVRSettings_002_GetSettingsErrorNameFromEnum, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRSettings_IVRSettings_002_Sync, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRSettings_IVRSettings_002_SetBool, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[3], r, winIVRSettings_IVRSettings_002_SetInt32, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[4], r, winIVRSettings_IVRSettings_002_SetFloat, 4, TRUE, FALSE);
|
||||
init_thunk(&thunks[5], r, winIVRSettings_IVRSettings_002_SetString, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[6], r, winIVRSettings_IVRSettings_002_GetBool, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[7], r, winIVRSettings_IVRSettings_002_GetInt32, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[8], r, winIVRSettings_IVRSettings_002_GetFloat, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[9], r, winIVRSettings_IVRSettings_002_GetString, 5, FALSE, FALSE);
|
||||
init_thunk(&thunks[10], r, winIVRSettings_IVRSettings_002_RemoveSection, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[11], r, winIVRSettings_IVRSettings_002_RemoveKeyInSection, 3, FALSE, FALSE);
|
||||
for (i = 0; i < 12; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
@ -320,18 +320,18 @@ winIVRSettings_IVRSettings_001 *create_winIVRSettings_IVRSettings_001_FnTable(vo
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRSettings_IVRSettings_001_GetSettingsErrorNameFromEnum, 1);
|
||||
init_thunk(&thunks[1], r, winIVRSettings_IVRSettings_001_Sync, 2);
|
||||
init_thunk(&thunks[2], r, winIVRSettings_IVRSettings_001_GetBool, 4);
|
||||
init_thunk(&thunks[3], r, winIVRSettings_IVRSettings_001_SetBool, 4);
|
||||
init_thunk(&thunks[4], r, winIVRSettings_IVRSettings_001_GetInt32, 4);
|
||||
init_thunk(&thunks[5], r, winIVRSettings_IVRSettings_001_SetInt32, 4);
|
||||
init_thunk(&thunks[6], r, winIVRSettings_IVRSettings_001_GetFloat, 4);
|
||||
init_thunk(&thunks[7], r, winIVRSettings_IVRSettings_001_SetFloat, 4);
|
||||
init_thunk(&thunks[8], r, winIVRSettings_IVRSettings_001_GetString, 6);
|
||||
init_thunk(&thunks[9], r, winIVRSettings_IVRSettings_001_SetString, 4);
|
||||
init_thunk(&thunks[10], r, winIVRSettings_IVRSettings_001_RemoveSection, 2);
|
||||
init_thunk(&thunks[11], r, winIVRSettings_IVRSettings_001_RemoveKeyInSection, 3);
|
||||
init_thunk(&thunks[0], r, winIVRSettings_IVRSettings_001_GetSettingsErrorNameFromEnum, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRSettings_IVRSettings_001_Sync, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRSettings_IVRSettings_001_GetBool, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[3], r, winIVRSettings_IVRSettings_001_SetBool, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[4], r, winIVRSettings_IVRSettings_001_GetInt32, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[5], r, winIVRSettings_IVRSettings_001_SetInt32, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[6], r, winIVRSettings_IVRSettings_001_GetFloat, 4, TRUE, FALSE);
|
||||
init_thunk(&thunks[7], r, winIVRSettings_IVRSettings_001_SetFloat, 4, TRUE, FALSE);
|
||||
init_thunk(&thunks[8], r, winIVRSettings_IVRSettings_001_GetString, 6, FALSE, FALSE);
|
||||
init_thunk(&thunks[9], r, winIVRSettings_IVRSettings_001_SetString, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[10], r, winIVRSettings_IVRSettings_001_RemoveSection, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[11], r, winIVRSettings_IVRSettings_001_RemoveKeyInSection, 3, FALSE, FALSE);
|
||||
for (i = 0; i < 12; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -155,18 +155,18 @@ winIVRTrackedCamera_IVRTrackedCamera_003 *create_winIVRTrackedCamera_IVRTrackedC
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetCameraErrorNameFromEnum, 1);
|
||||
init_thunk(&thunks[1], r, winIVRTrackedCamera_IVRTrackedCamera_003_HasCamera, 2);
|
||||
init_thunk(&thunks[2], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetCameraFrameSize, 5);
|
||||
init_thunk(&thunks[3], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetCameraIntrinsics, 4);
|
||||
init_thunk(&thunks[4], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetCameraProjection, 5);
|
||||
init_thunk(&thunks[5], r, winIVRTrackedCamera_IVRTrackedCamera_003_AcquireVideoStreamingService, 2);
|
||||
init_thunk(&thunks[6], r, winIVRTrackedCamera_IVRTrackedCamera_003_ReleaseVideoStreamingService, 1);
|
||||
init_thunk(&thunks[7], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetVideoStreamFrameBuffer, 6);
|
||||
init_thunk(&thunks[8], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetVideoStreamTextureSize, 5);
|
||||
init_thunk(&thunks[9], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetVideoStreamTextureD3D11, 6);
|
||||
init_thunk(&thunks[10], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetVideoStreamTextureGL, 5);
|
||||
init_thunk(&thunks[11], r, winIVRTrackedCamera_IVRTrackedCamera_003_ReleaseVideoStreamTextureGL, 2);
|
||||
init_thunk(&thunks[0], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetCameraErrorNameFromEnum, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRTrackedCamera_IVRTrackedCamera_003_HasCamera, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetCameraFrameSize, 5, FALSE, FALSE);
|
||||
init_thunk(&thunks[3], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetCameraIntrinsics, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[4], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetCameraProjection, 5, TRUE, TRUE);
|
||||
init_thunk(&thunks[5], r, winIVRTrackedCamera_IVRTrackedCamera_003_AcquireVideoStreamingService, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[6], r, winIVRTrackedCamera_IVRTrackedCamera_003_ReleaseVideoStreamingService, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[7], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetVideoStreamFrameBuffer, 6, FALSE, FALSE);
|
||||
init_thunk(&thunks[8], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetVideoStreamTextureSize, 5, FALSE, FALSE);
|
||||
init_thunk(&thunks[9], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetVideoStreamTextureD3D11, 6, FALSE, FALSE);
|
||||
init_thunk(&thunks[10], r, winIVRTrackedCamera_IVRTrackedCamera_003_GetVideoStreamTextureGL, 5, FALSE, FALSE);
|
||||
init_thunk(&thunks[11], r, winIVRTrackedCamera_IVRTrackedCamera_003_ReleaseVideoStreamTextureGL, 2, FALSE, FALSE);
|
||||
for (i = 0; i < 12; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
@ -288,14 +288,14 @@ winIVRTrackedCamera_IVRTrackedCamera_002 *create_winIVRTrackedCamera_IVRTrackedC
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRTrackedCamera_IVRTrackedCamera_002_GetCameraErrorNameFromEnum, 1);
|
||||
init_thunk(&thunks[1], r, winIVRTrackedCamera_IVRTrackedCamera_002_HasCamera, 2);
|
||||
init_thunk(&thunks[2], r, winIVRTrackedCamera_IVRTrackedCamera_002_GetCameraFrameSize, 5);
|
||||
init_thunk(&thunks[3], r, winIVRTrackedCamera_IVRTrackedCamera_002_GetCameraIntrinisics, 4);
|
||||
init_thunk(&thunks[4], r, winIVRTrackedCamera_IVRTrackedCamera_002_GetCameraProjection, 5);
|
||||
init_thunk(&thunks[5], r, winIVRTrackedCamera_IVRTrackedCamera_002_AcquireVideoStreamingService, 2);
|
||||
init_thunk(&thunks[6], r, winIVRTrackedCamera_IVRTrackedCamera_002_ReleaseVideoStreamingService, 1);
|
||||
init_thunk(&thunks[7], r, winIVRTrackedCamera_IVRTrackedCamera_002_GetVideoStreamFrameBuffer, 6);
|
||||
init_thunk(&thunks[0], r, winIVRTrackedCamera_IVRTrackedCamera_002_GetCameraErrorNameFromEnum, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRTrackedCamera_IVRTrackedCamera_002_HasCamera, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRTrackedCamera_IVRTrackedCamera_002_GetCameraFrameSize, 5, FALSE, FALSE);
|
||||
init_thunk(&thunks[3], r, winIVRTrackedCamera_IVRTrackedCamera_002_GetCameraIntrinisics, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[4], r, winIVRTrackedCamera_IVRTrackedCamera_002_GetCameraProjection, 5, TRUE, TRUE);
|
||||
init_thunk(&thunks[5], r, winIVRTrackedCamera_IVRTrackedCamera_002_AcquireVideoStreamingService, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[6], r, winIVRTrackedCamera_IVRTrackedCamera_002_ReleaseVideoStreamingService, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[7], r, winIVRTrackedCamera_IVRTrackedCamera_002_GetVideoStreamFrameBuffer, 6, FALSE, FALSE);
|
||||
for (i = 0; i < 8; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
@ -497,24 +497,24 @@ winIVRTrackedCamera_IVRTrackedCamera_001 *create_winIVRTrackedCamera_IVRTrackedC
|
||||
int i;
|
||||
|
||||
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
|
||||
init_thunk(&thunks[0], r, winIVRTrackedCamera_IVRTrackedCamera_001_HasCamera, 1);
|
||||
init_thunk(&thunks[1], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetCameraFirmwareDescription, 3);
|
||||
init_thunk(&thunks[2], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetCameraFrameDimensions, 4);
|
||||
init_thunk(&thunks[3], r, winIVRTrackedCamera_IVRTrackedCamera_001_SetCameraVideoStreamFormat, 2);
|
||||
init_thunk(&thunks[4], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetCameraVideoStreamFormat, 1);
|
||||
init_thunk(&thunks[5], r, winIVRTrackedCamera_IVRTrackedCamera_001_EnableCameraForStreaming, 2);
|
||||
init_thunk(&thunks[6], r, winIVRTrackedCamera_IVRTrackedCamera_001_StartVideoStream, 1);
|
||||
init_thunk(&thunks[7], r, winIVRTrackedCamera_IVRTrackedCamera_001_StopVideoStream, 1);
|
||||
init_thunk(&thunks[8], r, winIVRTrackedCamera_IVRTrackedCamera_001_IsVideoStreamActive, 1);
|
||||
init_thunk(&thunks[9], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetVideoStreamElapsedTime, 1);
|
||||
init_thunk(&thunks[10], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetVideoStreamFrame, 1);
|
||||
init_thunk(&thunks[11], r, winIVRTrackedCamera_IVRTrackedCamera_001_ReleaseVideoStreamFrame, 2);
|
||||
init_thunk(&thunks[12], r, winIVRTrackedCamera_IVRTrackedCamera_001_SetAutoExposure, 2);
|
||||
init_thunk(&thunks[13], r, winIVRTrackedCamera_IVRTrackedCamera_001_PauseVideoStream, 1);
|
||||
init_thunk(&thunks[14], r, winIVRTrackedCamera_IVRTrackedCamera_001_ResumeVideoStream, 1);
|
||||
init_thunk(&thunks[15], r, winIVRTrackedCamera_IVRTrackedCamera_001_IsVideoStreamPaused, 1);
|
||||
init_thunk(&thunks[16], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetCameraDistortion, 5);
|
||||
init_thunk(&thunks[17], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetCameraProjection, 6);
|
||||
init_thunk(&thunks[0], r, winIVRTrackedCamera_IVRTrackedCamera_001_HasCamera, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[1], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetCameraFirmwareDescription, 3, FALSE, FALSE);
|
||||
init_thunk(&thunks[2], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetCameraFrameDimensions, 4, FALSE, FALSE);
|
||||
init_thunk(&thunks[3], r, winIVRTrackedCamera_IVRTrackedCamera_001_SetCameraVideoStreamFormat, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[4], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetCameraVideoStreamFormat, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[5], r, winIVRTrackedCamera_IVRTrackedCamera_001_EnableCameraForStreaming, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[6], r, winIVRTrackedCamera_IVRTrackedCamera_001_StartVideoStream, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[7], r, winIVRTrackedCamera_IVRTrackedCamera_001_StopVideoStream, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[8], r, winIVRTrackedCamera_IVRTrackedCamera_001_IsVideoStreamActive, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[9], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetVideoStreamElapsedTime, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[10], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetVideoStreamFrame, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[11], r, winIVRTrackedCamera_IVRTrackedCamera_001_ReleaseVideoStreamFrame, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[12], r, winIVRTrackedCamera_IVRTrackedCamera_001_SetAutoExposure, 2, FALSE, FALSE);
|
||||
init_thunk(&thunks[13], r, winIVRTrackedCamera_IVRTrackedCamera_001_PauseVideoStream, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[14], r, winIVRTrackedCamera_IVRTrackedCamera_001_ResumeVideoStream, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[15], r, winIVRTrackedCamera_IVRTrackedCamera_001_IsVideoStreamPaused, 1, FALSE, FALSE);
|
||||
init_thunk(&thunks[16], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetCameraDistortion, 5, TRUE, FALSE);
|
||||
init_thunk(&thunks[17], r, winIVRTrackedCamera_IVRTrackedCamera_001_GetCameraProjection, 6, TRUE, TRUE);
|
||||
for (i = 0; i < 18; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
|
Loading…
Reference in New Issue
Block a user