mirror of
https://git.suyu.dev/suyu/Yucom.git
synced 2025-12-31 11:44:30 +01:00
vrclient: Fix x64 thunks for C API.
* Clean up the stack properly. * Do not push parameters after shadow register space.
This commit is contained in:
parent
5c4e0ab079
commit
23ffdc5ec8
20 changed files with 2438 additions and 2382 deletions
|
|
@ -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);
|
||||
init_thunk(&thunks[1], r, winIVRClientCore_IVRClientCore_003_Cleanup);
|
||||
init_thunk(&thunks[2], r, winIVRClientCore_IVRClientCore_003_IsInterfaceVersionValid);
|
||||
init_thunk(&thunks[3], r, winIVRClientCore_IVRClientCore_003_GetGenericInterface);
|
||||
init_thunk(&thunks[4], r, winIVRClientCore_IVRClientCore_003_BIsHmdPresent);
|
||||
init_thunk(&thunks[5], r, winIVRClientCore_IVRClientCore_003_GetEnglishStringForHmdError);
|
||||
init_thunk(&thunks[6], r, winIVRClientCore_IVRClientCore_003_GetIDForVRInitError);
|
||||
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);
|
||||
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);
|
||||
init_thunk(&thunks[1], r, winIVRClientCore_IVRClientCore_002_Cleanup);
|
||||
init_thunk(&thunks[2], r, winIVRClientCore_IVRClientCore_002_IsInterfaceVersionValid);
|
||||
init_thunk(&thunks[3], r, winIVRClientCore_IVRClientCore_002_GetGenericInterface);
|
||||
init_thunk(&thunks[4], r, winIVRClientCore_IVRClientCore_002_BIsHmdPresent);
|
||||
init_thunk(&thunks[5], r, winIVRClientCore_IVRClientCore_002_GetEnglishStringForHmdError);
|
||||
init_thunk(&thunks[6], r, winIVRClientCore_IVRClientCore_002_GetIDForVRInitError);
|
||||
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);
|
||||
for (i = 0; i < 7; i++)
|
||||
vtable[i] = &thunks[i];
|
||||
r->linux_side = linux_side;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue